:root {
    --primary-color: #0c969c;
    --white-color: #ffffff;
    --light-bg-color: #f2f3f5;
    --light-text-color: #7c899a;
    --border-color: #e5e8ec;
    --dark-color: #006aff;
    --navy-dark: #061d3d;
    --navy-light: #1E3E62;
    --gold: #ffc507;
    --gold-hover: #ffc400;
    --white: #FFFFFF;
    --gray-bg: #F4F6F9;
    --text-dark: #333333;
    --green: #28A745;
    --border: #0B192C;
    --orange: #FFC107;

    --font-small: 13px;
    --font-smaller: 11px;

    --percent100: 100%;
    --percent50: 50%;

    --fw3: 300;
    --fw5: 500;
    --fw6: 600;
    --fw7: 700;
    --fw8: 800;

    --trans-background-color: background-color .3s, color .3s;
    --trans-background: background-color .3s;
    --trans-color: color .3s;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

body {
    background-color: var(--white);
    color: var(--text-dark);
}

a {
    text-decoration: none;
    color: inherit;
    -webkit-tap-highlight-color: transparent;
}

ul {
    list-style: none;
    padding: 5px;
}

img {
    max-width: var(--percent100);
    vertical-align: middle;
}

strong {
    font-weight: var(--fw8);
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

input::placeholder {
    font-size: inherit; /* Fixed: Changed from 'font: inherit' to avoid broad resets */
}

h1, h2, h3, h4 {
    font-family: sans-serif;
}

h1 {
    font-size: 24px;
    font-weight: var(--fw8);
    line-height: 1;
}

h2 {
    font-size: 1.5em;
}

h3 {
    font-size: 1.2em;
    font-weight: var(--fw7);
}

h4 {
    font-size: 1em;
    font-weight: var(--fw6);
}

textarea{
    resize: none;
}


.mobile-hide {
    display: none;
}



/* REUSABLE ELEMNETS */
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 0.938em;
}

/**/
.searchform button {
    right: 0;
    border: 0;
    outline: none;
    font-size: 0.75em;
    font-weight: var(--fw6);
    background-color: var(--primary-color);
    color: var(--white-color);
    border-radius: 0 7px 7px 0;
    cursor: pointer;
    transition: var(--trans-background);
} 

.searchform button:hover {
    background-color: var(--dark-color);
}

.flexwrap {
    display: flex;
    flex-wrap: wrap;
}

.flexwrap .row{
    flex: 0 0 100%;
    width: 100%;
    margin-bottom: 2em;
}

.flexcenter span{
    background-color: var(--light-text-color);
    padding: 7px;
    border-radius: 27px;
    margin: 80px;
}

.flexcol {
    display: flex;
    flex-direction: column;
    gap: 1em;
}

.circle {
    position: relative;
    top: 155%;
    left: 38%;
    width: 54px;
    height: 54px;
    border-radius: var(--percent50);
    background-color: var(--light-bg-color);
    z-index: -1;
}

.circle::before {
    content: "";
    position: absolute;
    width: 28px;
    height: 28px;
    border-radius: var(--percent50);
    background-color: var(--gold);
    bottom: 5px;
    right: 5px;
    opacity: 0; /* Fixed: Changed from -1 to 0 (fully transparent) */
}






/* Responsive Header Navigation */
.mega {
    display: none;
}
.mega h2 {
    font-size: 20px;
    color: var(--navy-dark);
}
.mega a{
    font-size: 18px;
    color: var(--navy-dark);
}
.mega a:hover{
    text-decoration: underline;
}
.mega ul {
    background-color: white;
    padding: 10px 20px;
    position: fixed;
    left: 46%;
    top: 6%;
    transform: translateX(-50%);
    border-radius: 6px;
    width: 30%;
    box-shadow: rgba(0, 0, 0, 0.2) 0 10px 50px;
}
.mega ul li {
    margin-bottom: 10px;
}
.has-child:hover .mega {
    display: block; 
    z-index: 1000;           
}  

.header {
    background-color: var(--gray-bg);
    padding: 1rem 2%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1.5px solid var(--gold);
}
.head{
    background-color: var(--white);
    padding: 1rem 2%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.head h1 {
    font-style: italic;
}
.hd{
    width: 100%;
}
.hds {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    font-weight: var(--fw5);
}
.hds a:hover{
    text-decoration: underline;
}
header {
    background-color: var(--navy-dark);
    color: var(--white);
    padding: 1rem 5%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 3px solid var(--gold);
    right: 0;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 1000;
}

.flexs {
    display: flex; 
    align-items: center; 
    gap: 14px;
}


/* ```````PAGE NOTIFICATION
  *NOTIFICATION STYLES
  *------------*/


/*----------------------
  BOTTOM MENU SEARCH STYLES
  ----------------------*/
.search-bottom {
    position: fixed;
    left: 0;
    bottom: 76px;
    width: 100%;
    padding: 1.5em 0;
    background-color: var(--navy-dark);
    z-index: 1000;
    visibility: hidden;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.3s, visibility 0.3s, transform 0.3s;
}

.search-bottom .wrap{
    margin: 0;
    padding: 0 1rem;
}

/* Active class triggered by JS */
.showsearch .search-bottom {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
}

.search-bottom form {
    position: relative;
    display: flex;
    align-items: center;
    background-color: var(--white-color);
    border-radius: 4px;
    overflow: hidden;
   /*  margin: 0 15px; Adds padding on small screens */
}

.search-bottom input {
    width: 100%;
    padding: 0.8em 1em;
    border: none;
    outline: none;
}

.search-bottom button {
    color: var(--navy-dark);
    border: none;
    font-size: 1rem;
    padding: 0 1.5em;
    height: 100%;
    cursor: pointer;
}

.search-bottom .t-close {
    position: absolute;
    top: -45px;
    right: 15px;
    width: 35px;
    height: 35px;
    background-color: var(--white-color);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--dark-color);
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

.search-bottom .t-close:hover {
    background-color: var(--primary-color);
    color: var(--white-color);
}



.logo a {
    font-weight: var(--fw5);
    font-size: 16px;
    color: var(--text-dark);
}
.logo h1 {
    font-size: 1.5rem;
    color: var(--white);
}
.header .logo h1 {
    font-size: 1rem;
    color: var(--text-dark);
}
.logo span {
    color: var(--gold);
}

.link {
    display: flex;
    justify-content: center;
    gap: 20px;
    padding: 0.5rem 1rem;
    border-radius: 20px;
    border: 1px solid var(--white);
    background: linear-gradient(135deg, var(--gold), var(--navy-light));
}
.link i{
    color: var(--white);
}
.link i:hover{
    color: var(--navy-dark);
    transition: var(--trans-background-color);
}

.balance-badge {
    background: linear-gradient(135deg, var(--gold), var(--navy-light));
    padding: 0.5rem 1rem;
    border-radius: 20px;
    font-weight: bold;
    font-size: 0.9rem;
    border: 1px solid var(--white);
}

/* Fluid Main Layout Container */
main {
    max-width: 1200px;
    margin: 2rem auto;
    padding: 0 1rem;

}


/* Clean White Cards with Sharp Gold Highlights */
.card {
    background-color: var(--white);
    border-radius: 8px;
    padding: 2rem;
    box-shadow: rgba(0, 0, 0, 0.2) 0 10px 50px;
    border-top: 4px solid var(--navy-light);
}

.card h2 {
    margin-bottom: 1.5rem;
    color: var(--navy-dark);
    font-size: 1.3rem;
    border-bottom: 2px solid var(--gray-bg);
    padding-bottom: 0.5rem;
}

.form-group {
    margin-bottom: 1.25rem;
}



select, input {
    width: 100%;
    padding: 0.75rem;
    border: 1px solid #CCCCCC;
    border-radius: 4px;
    font-size: 1rem;
    outline: none;
    transition: border 0.3s ease;
}

select:focus, input:focus {
    border-color: var(--gold);
}

.btn:hover {
    background-color: var(--gold-hover);
    color: var(--white);
}

.btn-secondary {
    background-color: var(--navy-light);
    color: var(--white);
    margin-top: 0.5rem;
}
.btn-secondary:hover {
    background-color: var(--navy-dark);
}

/* System Transaction Notifications Feedback UI */
.status-box {
    margin-top: 1.5rem;
    padding: 1rem;
    border-radius: 4px;
    display: none;
    font-size: 0.95rem;
    line-height: 1.4;
}
.status-success {
    background-color: #D4EDDA;
    color: #155724;
    border-left: 5px solid #28A745;
}
.status-error {
    background-color: #F8D7DA;
    color: #721C24;
    border-left: 5px solid #DC3545;
}




.brand { font-size: 1.4rem; font-weight: bold; }
.brand span { color: var(--gold); }
.logout-btn { color: var(--white); text-decoration: none; font-size: 0.85rem; background: rgba(255,255,255,0.1); padding: 0.5rem 1rem; border-radius: 4px; border: 1px solid rgba(255,255,255,0.2); }
.logout-btn:hover { background: #DC3545; }

/* Outer Frame Container */
.wrapper { 
    max-width: 1200px; 
    margin: 1.5rem auto; 
    padding: 0 1rem; 
    margin-top: 20%;
}

/* Welcome Profile Header card component */
.welcome-card {
    background: var(--white);
    border-radius: 12px;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    box-shadow: rgba(0, 0, 0, 0.2) 0 10px 50px;
    
}
.avatar { width: 50px; height: 50px; background: var(--bg-gray); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; color: var(--navy-dark); font-weight: bold; border: 2px solid var(--gold); }
.welcome-text h2 { font-size: 1.3rem; color: var(--navy-dark); }
.welcome-text p { font-size: 0.85rem; color: #666; margin-top: 0.2rem; }

/* Grid Framework for Metric Panels */
.stats-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    margin-bottom: 2rem;
}
.stat-card {
    background: linear-gradient(135deg, var(--navy-dark), var(--navy-light));
    color: var(--white);
    padding: 1.5rem;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    border-left: 5px solid var(--gold);
    flex-grow: 1;
    flex-basis: 200px;
}
.stat-card p { 
    font-size: 0.85rem; 
    opacity: 0.8; 
    font-weight: var(--fw5);
}
.stat-card h3 { 
    margin-top: 0.5rem; 
    color: var(--white); 
    font-weight: 700; 
}
.stat-card span { 
    font-size: 9px; 
    color: var(--white); 
}

/* Split Section Layout for Desktop vs Mobile */
.main-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}

.panel { background: var(--white); border-radius: 12px; padding: 1.75rem; box-shadow: 0 4px 12px rgba(0,0,0,0.03); height: fit-content; }
.panel h2 { font-size: 1.15rem; color: var(--navy-dark); margin-bottom: 1.25rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--bg-gray); }

/* Form elements */
.form-group { margin-bottom: 1rem; }
label { 
    display: block; 
    margin-bottom: 0.4rem; 
    margin-top: 30px;
    font-size: 0.85rem; 
    font-weight: bold; 
    color: var(--navy-light); 
}

select:focus, input:focus { 
    border-color: var(--gold); 
}
.btn { width: 100%; 
    background: var(--gold); 
    color: var(--navy-dark); 
    border: none; 
    padding: 0.85rem; font-size: 1rem; 
    font-weight: bold; border-radius: 6px; 
    cursor: pointer;  
    margin-top: 0.5rem; 
    transition: all 0.3s ease;
    letter-spacing: 0.5px;
}
.btn:hover { background: #C5A030; }

/* Action Feedback Messages */
.alert-info { background: #E2E3E5; padding: 0.75rem; border-radius: 6px; font-size: 0.9rem; text-align: center; margin-top: 1rem; display: none; }

/* Modernized Order History Row Rows */
.order-row {
    background: var(--bg-gray);
    border-radius: 8px;
    padding: 1rem;
    margin-bottom: 0.75rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-left: 4px solid var(--navy-light);
}
.order-left h4 { font-size: 0.95rem; color: var(--navy-dark); }
.order-left p { font-size: 0.8rem; color: #777; margin-top: 0.2rem; }
.order-right { text-align: right; }
.order-price { font-weight: bold; font-size: 1rem; color: var(--navy-dark); }
.status-badge { display: inline-block; font-size: 0.75rem; font-weight: bold; padding: 0.2rem 0.5rem; border-radius: 4px; margin-top: 0.3rem; text-transform: uppercase; }
.status-processing { background: #FFF3CD; color: #856404; }
.status-completed { background: #D4EDDA; color: #155724; }
.status-failed { background: #F8D7DA; color: #721C24; }



/*----------------------
  QUICK ACTION STYLES
  ----------------------*/
.qck{
    background-color: var(--white);
    border-radius: 5px;
    box-shadow: rgba(0, 0, 0, 0.2) 0 10px 50px;
    padding: 1em;
}
.grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    text-align: center;
}
.grid i {
    font-size: 21px;
}

.grid a{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: 5px;
    border-radius: 3px;
    margin-bottom: 4px;
    color: #061d3d;
}
.grid a:hover{
    color: var(--white);
}
.grid span{
    font-size: 12px; 
    color: var(--navy-dark);
}


/*----------------------
  RECENT TRANSACTIONS STYLES
  ----------------------*/
.recent{
    background-color: var(--white);
    border-radius: 5px;
    padding: 5px;
    box-shadow: rgba(0, 0, 0, 0.2) 0 10px 50px;   
    padding: 1.8em;
    margin-bottom: 18%;
}
.trans {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.2em;
    gap: 2em;
}
.trans p{
    font-size: 11px;
}
.trans a{
    font-size: small;
    color: var(--dark-color);
}
.trans a:hover{
    color: var(--border);
    transition: var(--trans-background);
}

.spc{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 3px;
    border: none;
    border-radius: 5px;
}

.cts {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2.5rem;
}

.ntw {
    width: 8px;
    height: 8px;
    background-color: #006aff;
    color: var(--white);
    font-size: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
}







/*----------------------
  FOOTER STYLES
  ----------------------*/
/*----------------------
  FOOTER STYLES
  ----------------------*/
.newsletter {
    padding: 2.5em 0;
    background-color: var(--navy-dark);
    color: var(--white-color);
    width: 100%;
    overflow: hidden; /* Safety net to prevent children from spilling out */
}

/* Force the internal wrapper to stay within the screen and stack safely on mobile */
.newsletter .wrapper {
    display: flex;
    flex-direction: column; 
    gap: 20px;
    width: 100%;
    box-sizing: border-box;
    margin: 0px;
    padding: 0px;
}

.newsletter h3 {
    font-size: 1.5em;
    font-weight: var(--fw7);
}

.newsletter p {
    font-weight: var(--fw3);
    color: var(--border-color);
    margin: 0.5em 0 0; /* Removed large bottom margin pushing the form away */
}

.newsletter p strong {
    color: var(--primary-color);
}

/* Prevents the form from expanding wider than the screen on tiny devices */
.newsletter form {
    max-width: 400px;
    width: 100%;
    display: flex; /* Aligns input and button in a clean row if needed */
    box-sizing: border-box;
}

/* Desktop View: Puts text on the left and form on the right */
@media screen and (min-width: 768px) {
    .newsletter .wrapper {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }

    .widgets .flexwrap {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        gap: 20px;
    }

    /* Grid Framework for Metric Panels */
    .stats-grid {
        display: grid;
        gap: 1rem;
        margin-bottom: 2rem;
    }

    .grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 1.5rem;
        text-align: center;
    } 

    .grid span{
        font-size: 16px;
    }
     
    .qck h3 {
        text-align: center;
    }



}


/*----------------------
  BOTTOM MENU STYLES
  ----------------------*/
.menu-bottom {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 5px;
    height: 60px;
    background-color: var(--navy-dark);
    color: white;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1); 
    z-index: 900;
    margin: 10px;
    border-radius: 26px;
}

.menu-bottom .container{
    padding: 0;
}

.menu-bottom .flexitem {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
    padding: 0 10px;
}

.menu-bottom nav li {
    flex: 1;
    text-align: center;
}

.menu-bottom nav li a {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    color: var(--white);
    transition: color 0.3s ease;
}

.menu-bottom nav li a:hover {
    color: var(--gold);
}

.menu-bottom nav li a span {
    font-size: 0.75rem; /* Fixed: changed from font-family to font-size */
    margin-top: 2px;
}

.menu-bottom nav li a i {
    font-size: 1.3em;
}

.menu-bottom .wrapp{ 
    max-width: 1200px; 
    margin: 10px; 
    padding: 0 1rem; 
}

/* Red Dot Badge for Cart/Trending */
.menu-bottom .fly-item {
    position: absolute;
    top: -5px;
    right: 25%; /* Anchors properly above the icon */
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-color: var(--primary-color); /* Usually cart badges are red/primary */
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white-color);
}

.menu-bottom .item-number {
    font-size: 0.65rem;
    font-weight: 700;
}



/*----------------------
  FOOTER WIDGET STYLES
  ----------------------*/
.widgets { /* Fixed typo: changed from .widget to .widgets */
    padding: 3.5em 0;
    background-color: var(--light-bg-color);
}

.widgets .flexwrap {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
}

.widgets .row {
    flex: 1 1 100%; /* Stacks columns 100% wide on mobile devices */
}

.widgets h4 {
    font-size: 1.1em;
    color: var(--dark-color);
    margin-bottom: 1.5em;
}

.widgets .mini-links ul {
    gap: 0.75em;
}

.widgets .mini-links li a {
    color: var(--light-text-color);
    font-size: var(--font-small);
}

.widgets .mini-links li a:hover {
    color: var(--primary-color);
    text-decoration: underline;
}

/*----------------------
  FOOTER INFO STYLES
  ----------------------*/
.footer-info {
    padding: 3.5em 0 5em;
}

.footer-info .wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.footer-info .wrapper .flexcol {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}

.footer-info .logo a {
    font-size: 1.5em;
    font-weight: var(--fw7);
    color: var(--dark-color);
}

.footer-info ul.flexitem {
    display: flex;
    justify-content: center;
    list-style: none;
    padding: 0;
}

.footer-info ul li a {
    font-size: 1.25em;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background-color: var(--light-bg-color);
    border-radius: 50%;
    margin: 0.25em;
    color: var(--dark-color);
    transition: background-color 0.3s, color 0.3s;
}

.footer-info ul li a:hover {
    background-color: var(--primary-color);
    color: var(--white-color);
}

.footer-info .mini-text {
    margin-top: 2em;
    text-align: center;
    color: var(--light-text-color);
    font-size: 0.85em;
}

.google{
    margin: 5% 0 -12% 0;
    background-color: var(--dark-color);
    color: #ffffff;
    padding: 10px;
    border-radius: 10px;
    width: fit-content;
}
.google p{
    margin: 5px; 
    font-size: 15px; 
    color: var(--white);
}
.google:hover {
    color: var(--gold-hover);
}


/*********************
****LOGIN STYLES******
*********************/
/* When "active" class is triggered on mobile, swap the visible form */
.contain.active .login-box { 
    display: none; 
}

.contain.active .signup-box { 
    display: flex; 
}

/* Hide desktop absolute slide overlay on mobile */
.overlay-cover { 
    display: none; 
} 

/* Stack the name/email/business rows vertically on mobile */
.form-row { 
    flex-direction: column; 
} 

.remember-forgot {
    font-size: .9rem;
    color: #94a3b8;
    display: flex;
    justify-content: space-between;
    margin: -15px 0 15px;
}


/* Show "Already a vendor? Sign In" links on mobile */
.mobile-prompt { 
    display: block;
    margin-top: 15px; 
    text-align: center; 
    font-size: 0.9rem; 
    color: var(--light-text); 
}

.mobile-prompt span { 
    color: var(--dark-color); 
    font-weight: 600; 
    cursor: pointer; 
}

/* ----------------------
  SHARED TYPOGRAPHY & ELEMENTS
  ---------------------- */
.auth-box h2 { 
    color: var(--gold); 
}

.subtitle { 
    color: var(--light-text); 
    margin-bottom: 30px; 
    font-size: 0.95rem; 
}

.panel-left p, .panel-right p { 
    color: #ffffff; 
    margin-bottom: 20px; 
    font-size: 0.95rem; 
}

form { 
    width: 100%; 
}

.input-group { 
    flex: 1; 
    position: relative; 
    margin-bottom: 15px; 
}

.input-group i { 
    position: absolute; 
    left: 15px; 
    top: 50%; 
    transform: translateY(-50%); 
    color: var(--light-text); 
}

.input-group input, .input-group select {
    width: 100%; 
    padding: 12px; 
    border: 1px solid var(--border); 
    border-radius: 8px; 
    font-size: 0.95rem; 
    color: var(--text);
}

.input-group input:focus, .input-group select:focus { 
    border-color: var(--gold); 
    outline: none; 
}

/* Buttons*/
.contain form button { 
    cursor: pointer; 
    padding: 14px 25px; 
    border-radius: 8px; 
    border: none; 
    font-weight: 600; 
    font-size: 0.95rem; 
    transition: 0.3s; 
    width: 100%; 
} 

.btn-primary { 
    background-color: var(--dark-color); 
    color: var(--white); 
     padding: 14px 25px; 
    border-radius: 8px; 
    border: none; 
    font-weight: 600; 
    font-size: 0.95rem; 
    transition: 0.3s; 
    width: 100%;
}

.btn-secondary { 
    background-color: var(--dark-color); 
    color: var(--white); 
}

.btn-ghost { 
    background-color: transparent; 
    border: 2px solid var(--white); 
    color: var(--white); 
    width: auto; 
    cursor: pointer; 
    padding: 14px 25px; 
    border-radius: 8px; 
    font-weight: 600; 
    font-size: 0.95rem; 
    transition: 0.3s; 
}

button:hover { 
    opacity: 0.9; 
    transform: translateY(-1px); 
}

/* CSS Spinner Loader */
.spinner {
    display: inline-block;
    width: 14px;
    height: 14px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    border-top-color: #ffffff; /* White moving edge */
    animation: spin 0.8s linear infinite;
    margin-right: 8px;
    vertical-align: middle;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

/* Optional: Slight opacity change when disabled */
button:disabled {
    opacity: 0.8;
    cursor: not-allowed;
}


/* ----------------------
  MOBILE DEFAULT STYLES 
  (Screens under 768px)
  ---------------------- */
.auth-box {
    width: 100%;
    padding: 30px;
    display: none; /* Hide both by default on mobile */
    flex-direction: column;
    justify-content: center;
    transition: opacity 0.4s ease-in-out;
}

/* Show only login box natively on mobile */
.auth-box.login-box { 
    display: flex; 
}

/* MASTER CONTAINER */
.contain{
    background-color: var(--white);
    border-radius: 16px;
    box-shadow: 0 14px 28px rgba(0,0,0,0.05), 0 10px 10px rgba(0,0,0,0.03);
    position: relative;
    overflow: hidden;
    width: 100%;
    min-height: 650px;
}

.ass{
    display: flex; 
    align-items: center; 
    justify-content: space-evenly;
}

.custom-modal { 
    position: fixed; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%; 
    background: rgba(0,0,0,0.6); 
    z-index: 1000; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
}
.modal-content { 
    background: white; 
    padding: 30px; 
    border-radius: 16px; 
    width: 90%; 
    max-width: 400px; 
    position: relative; 
    text-align: center; 
}
.close-modal { 
    position: absolute; 
    top: 15px; 
    right: 20px; 
    font-size: 24px; 
    cursor: pointer; 
    color: #94a3b8; 
}





.main {
    border-radius: 16px;
    position: relative;
    overflow: hidden;
    width: 100%;
}


/*********************
****ORDERS STYLES******
*********************/
/* Layout Context Wrapper */
.orders-container {
    max-width: 28rem; /* max-w-md */
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
    margin-top: 15%;
}

/* Upper Search Card Elements */
.search-card {
    background-color: #ffffff;
    border-radius: 1rem;
    border: 1px solid #e2e8f0;
    padding: 1rem;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    margin-bottom: 1rem;
}

.search-title {
    font-size: 1.125rem;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.025em;
    margin-top: 0;
    margin-bottom: 0.25rem;
}

.search-subtitle {
    color: #64748b;
    font-size: 0.75rem;
    margin-top: 0;
    margin-bottom: 1rem;
}

.search-form {
    position: relative;
    display: flex;
    gap: 0.5rem;
}

.search-input-wrapper {
    position: relative;
    flex: 1 1 0%;
}

.search-icon {
    position: absolute;
    left: 0.875rem;
    top: 50%;
    transform: translateY(-50%);
    color: #94a3b8;
    font-size: 0.75rem;
}

.search-input {
    width: 100%;
    padding-left: 2.25rem;
    padding-right: 1rem;
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
    background-color: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 0.75rem;
    font-size: 0.75rem;
    color: #1e293b;
    font-weight: 500;
    box-sizing: border-box;
    transition: all 0.2s ease;
}

.search-input::placeholder {
    color: #94a3b8;
}

.search-input:focus {
    outline: none;
    border-color: #2563eb;
    background-color: #ffffff;
}

.clear-search-btn {
    position: absolute;
    right: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    color: #94a3b8;
    font-size: 0.75rem;
    transition: color 0.15s ease;
}

.clear-search-btn:hover {
    color: #475569;
}

.filter-btn {
    background: linear-gradient(135deg, #2563eb, #1d4ed8); /* Fallback value for brand-gradient */
    color: #ffffff;
    padding-left: 1rem;
    padding-right: 1rem;
    border-radius: 0.75rem;
    font-size: 0.75rem;
    font-weight: 700;
    border: none;
    cursor: pointer;
    transition: opacity 0.2s ease;
}

.filter-btn:hover {
    opacity: 0.95;
}

/* Orders Content Management Container layout structural definitions */
.orders-section {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    margin-top: 24px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    overflow: hidden;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.section-header {
    background: #f8fafc;
    padding: 16px 24px;
    border-bottom: 1px solid #e2e8f0;
}

.section-header h4 {
    margin: 0;
    color: #1e293b;
    font-size: 1rem;
    font-weight: 600;
}

/* Responsive Table Container Grid Panel Window Wrapper */
.table-container {
    width: 100%;
    overflow-x: auto;
}

.orders-table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
    font-size: 0.9rem;
}

.orders-table th {
    background: #f1f5f9;
    color: #475569;
    font-weight: 600;
    padding: 12px 24px;
    border-bottom: 2px solid #e2e8f0;
    white-space: nowrap;
}

.orders-table td {
    padding: 14px 24px;
    border-bottom: 1px solid #e2e8f0;
    color: #334155;
    white-space: nowrap;
}

.orders-table tbody tr:hover {
    background: #f8fafc;
}

/* Operational Status Layout Utility Tags Mapping Rules */
.status-indicator {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 50px;
    font-size: 0.775rem;
    font-weight: 600;
    text-transform: uppercase;
}

.status-success { background: #d1fae5; color: #065f46; }
.status-pending { background: #fef3c7; color: #92400e; }
.status-failed  { background: #fee2e2; color: #991b1b; }

.text-mono { font-family: monospace; font-size: 0.85rem; color: #64748b; }
.text-bold { font-weight: 600; color: #0f172a; }

/* Empty Data Grid Records Block Presentation Styles */
.no-records-fallback {
    padding: 48px;
    text-align: center;
    color: #94a3b8;
}

.no-records-fallback i { font-size: 2.5rem; margin-bottom: 12px; }
.no-records-fallback p { margin: 0; font-size: 0.95rem; }


/* Orders Feed list container */
.orders-feed {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

/* Individual Data Item Cards */
.order-item-card {
    background-color: #ffffff;
    border-radius: 1rem;
    border: 1px solid #e2e8f0;
    padding: 1rem;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    position: relative;
    display: flex;
    flex-direction: column;
    transition: all 0.2s ease;
}

.order-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 0.5rem;
}

.order-title-group {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.plan-title {
    font-size: 0.875rem;
    font-weight: 800;
    color: #0f172a;
    margin: 0;
}

/* Network badge color modifiers */
.network-badge {
    font-size: 9px;
    font-weight: 900;
    padding: 0.125rem 0.5rem;
    border-radius: 0.375rem;
    text-transform: uppercase;
}

.net-amber { background-color: #facc15; color: #0f172a; }
.net-red { background-color: #dc2626; color: #ffffff; }
.net-blue { background-color: #3b82f6; color: #ffffff; }

/* Status Badge configurations */
.status-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 9px;
    font-weight: 700;
    padding: 0.125rem 0.5rem;
    border-radius: 0.375rem;
    border: 1px solid transparent;
    text-transform: uppercase;
}

.status-badge i {
    font-size: 8px;
}

/* Status variants mapping block */
.status-completed { background-color: #f0fdf4; color: #15803d; border-color: #bbf7d0; }
.status-failed { background-color: #fef2f2; color: #b91c1c; border-color: #fecaca; }
.status-pending { background-color: #fffbeb; color: #b45309; border-color: #fde68a; }

/* Mid-Card Data Grid Specifications */
.order-details-middle {
    font-size: 11px;
    color: #64748b;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    border-top: 1px dashed #f1f5f9;
    border-bottom: 1px dashed #f1f5f9;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
}

.details-row {
    display: flex;
    justify-content: space-between;
}

.bold-text {
    font-weight: 700;
    color: #334155;
    letter-spacing: 0.05em;
}

.mono-text {
    font-family: monospace;
    color: #94a3b8;
    font-size: 10px;
}

/* Card Lower Content Base Row */
.order-card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 0.25rem;
}

.footer-cost-label {
    font-size: 10px;
    color: #94a3b8;
    font-weight: 500;
}

.footer-cost-value {
    font-size: 0.875rem;
    font-weight: 900;
    color: #0f172a;
}

/* Empty State Fallback Elements */
.empty-fallback-card {
    background-color: #ffffff;
    border-radius: 1rem;
    border: 1px solid #e2e8f0;
    padding: 2rem;
    text-align: center;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.empty-icon-wrapper {
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    background-color: #f8fafc;
    color: #cbd5e1;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0.75rem;
    font-size: 1.125rem;
}

.empty-title {
    font-size: 0.875rem;
    font-weight: 700;
    color: #334155;
    margin-top: 0;
    margin-bottom: 0.125rem;
}

.empty-subtitle {
    color: #94a3b8;
    font-size: 11px;
    margin: 0;
}

/* Continuous keyframe animation configurations */
.spinner-anim {
    animation: spin 1s linear infinite;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}



/*********************
****TOP UP STYLES******
*********************/
        /* Base settings and font resets assumed from your template layout */
.main-container {
    max-width: 28rem;
    padding-left: 1rem;
    padding-right: 1rem;
    margin: 22% auto;
}

/* Hero Section Styles */
.hero-card {
    background: linear-gradient(135deg, #2563eb, #1d4ed8); /* Fallback value for your brand-gradient */
    border-radius: 1.5rem;
    padding: 1.5rem;
    color: #ffffff;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    position: relative;
    overflow: hidden;
    margin-bottom: 1.5rem;
}

.hero-bg-icon {
    position: absolute;
    right: -2.5rem;
    bottom: -2.5rem;
    opacity: 0.1;
    font-size: 8rem;
}

.secure-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    background-color: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.9);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    padding: 0.25rem 0.625rem;
    border-radius: 9999px;
    margin-bottom: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.secure-badge i {
    font-size: 9px;
}

.hero-title {
    font-size: 1.875rem;
    font-weight: 800;
    letter-spacing: -0.025em;
    margin-bottom: 0.5rem;
    margin-top: 0;
}

.hero-subtitle {
    color: #cbd5e1;
    font-size: 0.75rem;
    line-height: 1.625;
    margin-bottom: 1.5rem;
}

/* Glass Balance Box */
.balance-box {
    border-radius: 1rem;
    padding: 1rem;
    background: rgba(255, 255, 255, 0.1); /* Fallback value for glass pill */
    backdrop-filter: blur(8px);
}

.balance-label {
    font-size: 10px;
    font-weight: 700;
    color: #94a3b8;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    display: block;
    margin-bottom: 0.25rem;
}

.balance-value {
    font-size: 1.5rem;
    font-weight: 900;
    letter-spacing: -0.025em;
}

/* Form Card Styles */
.form-card {
    background-color: #ffffff;
    border-radius: 1.5rem;
    padding: 1.5rem;
    border: 1px solid #f1f5f9;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
}

.form-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 0.25rem;
    margin-top: 0;
}

.form-subtitle {
    color: #64748b;
    font-size: 0.75rem;
    margin-bottom: 1.5rem;
    margin-top: 0;
}

.form-group {
    margin-bottom: 1.25rem;
}

.input-label {
    display: block;
    font-size: 0.75rem;
    font-weight: 700;
    color: #475569;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.5rem;
}

/* Input Fields */
.input-wrapper {
    position: relative;
}

.currency-prefix {
    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
    color: #94a3b8;
    font-weight: 700;
    font-size: 0.875rem;
}

.amount-input {
    width: 100%;
    padding-left: 3.5rem;
    padding-right: 1rem;
    padding-top: 0.875rem;
    padding-bottom: 0.875rem;
    background-color: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 1rem;
    color: #1e293b;
    font-weight: 700;
    font-size: 1.125rem;
    transition: all 0.2s ease;
    box-sizing: border-box;
}

.amount-input::placeholder {
    color: #94a3b8;
}

.amount-input:focus {
    outline: none;
    border-color: #2563eb;
    background-color: #ffffff;
}

/* Quick Selection Matrix Grid */
.quick-amounts-group {
    margin-bottom: 2rem;
}

.quick-amounts-label {
    display: block;
    font-size: 0.75rem;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.75rem;
}

.quick-amounts-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

.quick-btn {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    background-color: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 0.75rem;
    color: #334155;
    font-weight: 700;
    font-size: 0.875rem;
    cursor: pointer;
    transition: all 0.2s ease;
}

.quick-btn:hover {
    background-color: #f1f5f9;
    border-color: #cbd5e1;
}

.quick-btn:active {
    transform: scale(0.95);
}

/* Main Submission Pay Button */
.submit-btn {
    width: 100%;
    background: linear-gradient(135deg, #2563eb, #1d4ed8); /* Fallback value for your brand-gradient */
    color: #ffffff;
    padding-top: 1rem;
    padding-bottom: 1rem;
    border-radius: 1rem;
    font-weight: 700;
    border: none;
    cursor: pointer;
    box-shadow: 0 10px 15px -3px rgba(15, 23, 42, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    transition: all 0.2s ease;
}

.submit-btn:hover {
    opacity: 0.95;
}

.submit-btn:active {
    transform: scale(0.99);
}

.submit-btn i {
    opacity: 0.8;
}

/* History Section Structural Card */
.history-section-card {
    background-color: #ffffff;
    border-radius: 1.5rem;
    border: 1px solid #e2e8f0;
    padding: 1.25rem;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.05);
    margin-top: 1.25rem;
}

.section-card-title {
    font-size: 0.875rem;
    font-weight: 800;
    color: #0f172a;
    margin: 0 0 0.15rem 0;
    display: flex;
    align-items: center;
    gap: 0.375rem;
}

.section-card-title i {
    color: #2563eb;
}

.section-card-subtitle {
    color: #94a3b8;
    font-size: 11px;
    margin: 0 0 1.25rem 0;
}

/* ==========================================================================
   AFA Registration History List Layout
   ========================================================================== */

.timeline-feed-stack {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.timeline-row-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px dashed #f1f5f9;
    padding-bottom: 0.75rem;
}

.timeline-row-content {
    display: flex;
    gap: 0.75rem;
    align-items: center;
    min-width: 0;
    flex: 1;
}

.timeline-avatar-indicator {
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    flex-shrink: 0;
}

.timeline-meta-strings {
    min-width: 0;
}

.timeline-meta-strings h4 {
    font-size: 12px;
    font-weight: 800;
    color: #1e293b;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.timeline-meta-strings p {
    font-size: 11px;
    color: #64748b;
    margin: 2px 0 0 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.timeline-meta-strings strong {
    color: #334155;
}

.timeline-fee-label {
    font-size: 10px;
    color: #94a3b8;
}

.status-badge-afa {
    text-transform: uppercase;
    font-size: 9px;
    font-weight: 700;
    padding: 0.15rem 0.5rem;
    border-radius: 4px;
    flex-shrink: 0;
    margin-left: 0.5rem;
}

.empty-state-card-afa {
    text-align: center;
    padding: 1.5rem 0;
    color: #94a3b8;
}

.empty-icon-circle-afa {
    font-size: 1.5rem;
    margin-bottom: 0.25rem;
}

.empty-title-afa {
    font-size: 12px;
    margin: 0;
    font-weight: 700;
    color: #475569;
}

.empty-subtitle-afa {
    font-size: 11px;
    margin: 0;
}

.deposit-title-header {
    font-size: 12px;
    font-weight: 800;
    color: #1e293b;
    margin: 0;
}

.deposit-sub-meta {
    font-size: 11px;
    color: #64748b;
    margin: 0.05rem 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mono-text {
    font-family: monospace;
    color: #94a3b8;
    font-size: 10px;
}

.timeline-date-lbl {
    font-size: 9px;
    color: #94a3b8;
}

/* Right-Side Column (Amount and Status Badge) */
.deposit-right-column {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.25rem;
    flex-shrink: 0;
}

.timeline-reward-value {
    font-size: 0.875rem;
    font-weight: 900;
    color: #0f172a;
}

/* Status Badges */
.status-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    font-size: 9px;
    font-weight: 700;
    padding: 0.1rem 0.375rem;
    border-radius: 0.25rem;
    text-transform: uppercase;
}

.status-badge.status-completed { background-color: #f0fdf4; color: #16a34a; }
.status-badge.status-failed { background-color: #fef2f2; color: #dc2626; }
.status-badge.status-pending { background-color: #fffbeb; color: #d97706; }

/* Empty Fallback Graphic UI Elements */
.empty-state-card {
    padding: 2rem 1rem;
    text-align: center;
}

.empty-icon-circle {
    font-size: 1.5rem;
    color: #cbd5e1;
    margin-bottom: 0.5rem;
}

.empty-title-string {
    font-size: 13px;
    font-weight: 700;
    color: #475569;
    margin: 0 0 0.25rem 0;
}

.empty-subtitle-string {
    color: #94a3b8;
    font-size: 11px;
    line-height: 1.5;
    margin: 0 auto;
    max-width: 18rem;
}

/* Live Pending Loading Spinning Animations */
.spinner-anim {
    animation: spin 1s linear infinite;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}


/* ==========================================================================
   Contact Page and Accordion FAQ Sizing Rules
   ========================================================================== */

.contact-section-container {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    max-width: 700px;
    margin: 0 auto;
    padding: 1rem;
    margin: 24% auto;
}

/* Part A Card Rules */
.contact-details-card, .faq-answers-block {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 1.5rem;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}

.contact-main-title { font-size: 1.25rem; font-weight: 700; color: #0f172a; margin: 0; }
.contact-subtitle { font-size: 0.825rem; color: #64748b; margin: 0.25rem 0 1.25rem 0; }

.communication-channels-list { display: flex; flex-direction: column; gap: 1rem; }
.channel-row-item { display: flex; align-items: center; gap: 0.75rem; }

.channel-icon-avatar {
    width: 2.25rem; height: 2.25rem; border-radius: 6px;
    display: flex; align-items: center; justify-content: center; font-size: 1rem;
}
.icon-phone { background: rgba(56, 88, 249, 0.1); color: #3858f9; }
.icon-email { background: rgba(16, 185, 129, 0.1); color: #10b981; }

.channel-label-title { display: block; font-size: 0.68rem; color: #94a3b8; text-transform: uppercase; font-weight: 700; }
.channel-action-link { font-size: 0.875rem; color: #0f172a; font-weight: 700; text-decoration: none; }
.channel-action-link:hover { color: #3858f9; }

/* FAQ List Engine Elements */
.faq-section-heading { font-size: 0.95rem; font-weight: 800; color: #1e293b; margin: 0 0 1rem 0; display: flex; align-items: center; gap: 0.375rem; }
.faq-section-heading .icon-accent { color: #3858f9; }

.faq-accordion-stack { display: flex; flex-direction: column; gap: 0.5rem; }
.faq-accordion-item { border: 1px solid #f1f5f9; border-radius: 6px; overflow: hidden; background: #f8fafc; }

.faq-question-row { display: flex; justify-content: space-between; align-items: center; padding: 0.875rem 1rem; cursor: pointer; user-select: none; }
.faq-question-text { font-size: 0.825rem; font-weight: 700; color: #334155; }
.faq-dropdown-chevron { font-size: 0.75rem; color: #94a3b8; transition: transform 0.2s ease; }

.faq-answer-panel { max-height: 0; overflow: hidden; transition: max-height 0.2s ease-out; background: #ffffff; }
.faq-answer-panel p { font-size: 0.8rem; color: #64748b; line-height: 1.5; padding: 1rem; margin: 0; border-top: 1px solid #f1f5f9; }

/* Accordion Active States */
.faq-accordion-item.active .faq-dropdown-chevron { transform: rotate(180deg); color: #3858f9; }
.faq-accordion-item.active .faq-answer-panel { max-height: 200px; transition: max-height 0.25s ease-in; }

/* Empty Search Results Layout */
.faq-empty-state { text-align: center; padding: 1.5rem 0; color: #94a3b8; }
.faq-empty-state .empty-icon { font-size: 1.75rem; margin-bottom: 0.375rem; color: #cbd5e1; }
.faq-empty-state h4 { font-size: 0.825rem; font-weight: 700; color: #475569; margin: 0 0 0.25rem 0; }
.faq-empty-state p { font-size: 0.78rem; margin: 0; line-height: 1.4; }

/* Interactive Stars for Form */
.star-rating-input {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
}
.star-rating-input input { display: none; }
.star-rating-input label {
    font-size: 2rem;
    color: #ddd;
    cursor: pointer;
}
.star-rating-input input:checked ~ label,
.star-rating-input label:hover,
.star-rating-input label:hover ~ label {
    color: var(--gold);
}




/*********************
****NOTIFICATION  STYLES******
*********************/
/* Dropdown context anchor positioning flags*/
.notification-dropdown-wrapper {
    display: inline-block;
}

.notification-bell-trigger {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.15rem;
} 

/* Glowing Red Unread Counter Dot Badge */
.notification-badge-dot {
    position: absolute;
    top: -2px;
    right: -2px;
    width: 7px;
    height: 7px;
    background-color: #ef4444; /* Dynamic warning red indicator */
    border-radius: 50%;
    border: 1.5px solid #ffffff;
    box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.4);
    animation: pulse-badge 2s infinite;
}

@keyframes pulse-badge {
    0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.7); }
    70% { transform: scale(1); box-shadow: 0 0 0 5px rgba(239, 68, 68, 0); }
    100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(239, 68, 68, 0); }
}

/* Mega dropdown inner card container styling adjustments */
.spacer-line {
    border-bottom: 2px solid #eab308; /* Gold accent color spacer line matches template layout metrics */
    width: 100%;
}

.notification-list-stack {
    list-style: none;
    padding: 0;
    margin: 0;
}

/* Row Item Lists */
.notification-item-row {
    display: flex;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    border-bottom: 1px dashed #f1f5f9;
    align-items: flex-start;
    transition: background-color 0.2s ease;
}

.notification-item-row:last-child {
    border-bottom: none;
}

.notification-item-row:hover {
    background-color: #f8fafc;
}

/* Round avatar wrappers inside the rows */
.noti-icon-avatar {
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    flex-shrink: 0;
}
.noti-icon-avatar.order { background-color: #eff6ff; }
.noti-icon-avatar.topup { background-color: #f0fdf4; }

/* Status Text Mappings */
.text-success { color: #16a34a !important; }
.text-danger { color: #dc2626 !important; }
.text-warning { color: #d97706 !important; }

.noti-text-block {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.noti-header-title {
    font-size: 11px;
    font-weight: 800;
    color: #1e293b;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.noti-body-msg {
    font-size: 11px;
    color: #64748b;
    margin: 0.15rem 0;
    line-height: 1.4;
}

.noti-time-stamp {
    font-size: 9px;
    color: #94a3b8;
}

/* Empty View State Styling Rules */
.noti-empty-state {
    padding: 1.5rem 1rem;
    text-align: center;
    color: #cbd5e1;
}
.noti-empty-state i {
    font-size: 1.25rem;
    margin-bottom: 0.25rem;
}
.noti-empty-state p {
    font-size: 11px;
    color: #94a3b8;
    margin: 0;
}


/*********************
****SIDEBAR STYLES******
*********************/
/* ========================================================
   CORE POSITIONING & GLOBAL LAYOUT SETUP
   ======================================================== */
/* --- Fixed Top Menu Bar Header (Visible Universally on All Screen Sizes) --- */
.app-top-navbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 3.5rem;
    background-color: var(--dark-color);
    color: var(--white);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 1rem;
    z-index: 80;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
    box-sizing: border-box;
}

.menu-toggle-hamburger {
    background: transparent;
    border: none;
    color: var(--white);
    font-size: 1.25rem;
    cursor: pointer;
    padding: 0.25rem;
    display: flex;
    align-items: center;
}

.top-navbar-brand {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.brand-logo-circle.small-override {
    width: 1.75rem;
    height: 1.75rem;
    background-color: var(--white);
    border-radius: var(--percent50);
    display: flex;
    align-items: center;
    justify-content: center;
}

.logo-db-text.small-override {
    color: var(--navy-dark);
    font-size: var(--font-smaller);
    font-weight: var(--fw8);
}

.top-navbar-title {
    font-size: 14px;
    font-weight: var(--fw8);
    color: var(--white);
    letter-spacing: -0.01em;
}

.top-navbar-actions {
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.8);
    cursor: pointer;
}

/* ========================================================
   SLIDING SIDEBAR NAVIGATION PANEL Drawer
   ======================================================== */
.sidebar-wrapper {
    position: fixed;
    top: 0;
    left: -280px; /* Kept off-screen initially on both desktop and mobile layouts */
    width: 280px;
    height: var(--percent100);
    z-index: 9999;
    background: linear-gradient(135deg, var(--navy-dark) 0%, var(--navy-light) var(--percent100));
    box-shadow: 4px 0 25px rgba(6, 29, 61, 0.25);
    transition: left 0.35s cubic-bezier(0.4, 0, 0.2, 1); /* Handles the smooth sliding routine */
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
}

/* Active Class Modifier: Slides the container smoothly from the left edge */
.sidebar-wrapper.sidebar-active {
    left: 0;
}

/* --- Brand / Logo Header inside Sidebar --- */
.sidebar-brand-header {
    display: flex;
    align-items: center;
    padding: 1.5rem 1.25rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    position: relative;
}

.brand-logo-circle {
    width: 2.5rem;
    height: 2.5rem;
    background-color: var(--white);
    border-radius: var(--percent50);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 0.75rem;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.logo-db-text {
    color: var(--navy-dark);
    font-weight: var(--fw8);
    font-size: 1.1rem;
    letter-spacing: -0.03em;
}

.brand-title-text {
    color: var(--white);
    font-size: 1.15rem;
    font-weight: var(--fw7);
    margin: 0;
    letter-spacing: -0.01em;
}

.sidebar-close-trigger-btn {
    position: absolute;
    right: 1.25rem;
    background: transparent;
    border: none;
    color: rgba(255, 255, 255, 0.65);
    font-size: 1.2rem;
    cursor: pointer;
    transition: var(--trans-color);
}

.sidebar-close-trigger-btn:hover {
    color: var(--white);
}

/* --- Scrollable Content Inner Track --- */
.sidebar-navigation-feed {
    flex: 1;
    overflow-y: auto;
    padding: 1.25rem 0.85rem;
}

.nav-section-group {
    margin-bottom: 1.5rem;
}

.section-group-label {
    display: block;
    color: rgba(255, 255, 255, 0.45);
    font-size: var(--font-smaller);
    font-weight: var(--fw7);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    padding-left: 0.75rem;
    margin-bottom: 0.6rem;
}

.nav-links-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.nav-item-row {
    border-radius: 12px;
    transition: var(--trans-background);
}

.nav-link-anchor {
    display: flex;
    align-items: center;
    padding: 0.75rem 1rem;
    color: rgba(255, 255, 255, 0.75);
    text-decoration: none;
    font-size: 14px;
    font-weight: var(--fw5);
    transition: var(--trans-color);
}

.icon-fix {
    width: 1.25rem;
    margin-right: 0.85rem;
    font-size: 1.05rem;
    text-align: center;
    opacity: 0.85;
}

.nav-item-row.active {
    background-color: rgba(255, 255, 255, 0.15);
}

.nav-item-row.active .nav-link-anchor {
    color: var(--white);
    font-weight: var(--fw6);
}

.nav-item-row:hover:not(.active) {
    background-color: rgba(255, 255, 255, 0.05);
}

.nav-item-row:hover .nav-link-anchor {
    color: var(--white);
}

/* --- Profile Bottom Identity Card --- */
.sidebar-user-footer-card {
    display: flex;
    align-items: center;
    padding: 1.25rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    background-color: rgba(0, 0, 0, 0.12);
}

.user-avatar-initial-badge {
    width: 2.35rem;
    height: 2.35rem;
    background-color: rgba(255, 255, 255, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: var(--percent50);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    font-weight: var(--fw7);
    font-size: var(--font-small);
    margin-right: 0.75rem;
}

.user-profile-meta-strings {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.user-meta-fullname {
    color: var(--white);
    font-size: var(--font-small);
    font-weight: var(--fw6);
    margin: 0;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

.user-meta-email-string {
    color: rgba(255, 255, 255, 0.6);
    font-size: var(--font-smaller);
    margin-top: 0.15rem;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

/* --- Backdrop Shadow Screen Shield --- */
.sidebar-backdrop-shield {
    position: fixed;
    inset: 0;
    background-color: rgba(6, 29, 61, 0.4);
    z-index: 95;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

.sidebar-backdrop-shield.overlay-active {
    opacity: 1;
    pointer-events: auto;
}


/* ========================================================
   RESPONSIVE MEDIA CONTROLS & DESKTOP FORCED VISIBILITY 
   ======================================================== */
@media screen and (min-width: 992px) {
    /* Explicitly forces the top navbar header block to show on desktop layouts */
    .app-top-navbar {
        display: flex !important;
        left: 0;
        right: 0;
        width: 100%;
    }

    /* Keeps your navigation drawer drawer hidden off-screen until clicked */
    .sidebar-wrapper {
        left: -280px;
        z-index: 9999;
    }

    /* Ensures the smooth sliding activation stays active on wide displays when toggled */
    .sidebar-wrapper.sidebar-active {
        left: 0 !important;
    }

    /* Hides the mobile bottom menu icons on desktop screen viewport breaklines */
    .app-bottom-tab-bar {
        display: none !important;
    }

    /* Removes bottom tab bar space offset from the body wrapper on desktop */
    body {
        padding-bottom: 0;
    }
}



/*********************
****PROFILE STYLES******
*********************/
/* Core Layout Box Wrapper */
.profile-container {
    max-width: 28rem;
    padding-left: 1rem;
    padding-right: 1rem;
    margin: 25% auto;
}

/* Feedback Notification Alerts */
.alert-box {
    border-radius: 0.75rem;
    padding: 0.75rem;
    margin-bottom: 1rem;
    font-size: 0.75rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.alert-success {
    background-color: #f0fdf4;
    border: 1px solid #bbf7d0;
    color: #15803d;
}

.alert-danger {
    background-color: #fef2f2;
    border: 1px solid #fecaca;
    color: #b91c1c;
}

/* Central Identity Card Components */
.profile-hero-card {
    background-color: #ffffff;
    border-radius: 1rem;
    border: 1px solid #e2e8f0;
    padding: 1.25rem;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    text-align: center;
    margin-bottom: 1rem;
}

.avatar-circle {
    width: 4rem;
    height: 4rem;
    border-radius: 50%;
    background-color: #f8fafc;
    border: 2px solid #dbeafe;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
    color: #2563eb;
    margin-bottom: 0.75rem;
    position: relative;
}

.avatar-circle i {
    font-size: 1.5rem;
}

.online-indicator-dot {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 1rem;
    height: 1rem;
    background-color: #22c55e;
    border: 2px solid #ffffff;
    border-radius: 50%;
}

.profile-display-name {
    font-size: 1rem;
    font-weight: 800;
    color: #0f172a;
    margin: 0;
}

.role-badge {
    display: inline-block;
    font-size: 10px;
    font-weight: 700;
    color: #1d4ed8;
    background-color: #eff6ff;
    padding: 0.125rem 0.5rem;
    border-radius: 0.375rem;
    text-transform: uppercase;
    margin-top: 0.25rem;
    border: 1px solid #dbeafe;
}

/* Reward Matrix Context Panels */
.referral-card {
    background: linear-gradient(135deg, #0f172a, #172554);
    color: #ffffff;
    border-radius: 1rem;
    padding: 1rem;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
    margin-bottom: 1rem;
}

.referral-tag {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #60a5fa;
    margin-bottom: 0.5rem;
}

.referral-description {
    color: #cbd5e1;
    font-size: 11px;
    line-height: 1.625;
    margin-top: 0;
    margin-bottom: 0.75rem;
}

.referral-link-row {
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: 0.75rem;
    padding: 0.625rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.referral-url-string {
    font-family: monospace;
    font-size: 10px;
    color: #e2e8f0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding-right: 0.5rem;
}

.copy-link-btn {
    background-color: #ffffff;
    color: #0f172a;
    padding: 0.375rem 0.75rem;
    border-radius: 0.5rem;
    font-size: 10px;
    font-weight: 700;
    border: none;
    cursor: pointer;
    white-space: nowrap;
    transition: background-color 0.15s ease;
}

.copy-link-btn:hover {
    background-color: #f1f5f9;
}

.copy-link-btn i {
    margin-right: 0.25rem;
}

/* Generic Form Structural Layout Blocks */
.settings-form-block {
    background-color: #ffffff;
    border-radius: 1rem;
    border: 1px solid #e2e8f0;
    padding: 1.25rem;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    margin-bottom: 1rem;
}

.block-section-heading {
    font-size: 0.875rem;
    font-weight: 800;
    color: #0f172a;
    margin-top: 0;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.color-accent {
    color: #2563eb;
}

.stacked-fields-form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.field-control {
    display: flex;
    flex-direction: column;
}

.field-label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.375rem;
}

.form-text-input {
    width: 100%;
    padding: 0.625rem 0.875rem;
    background-color: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 0.75rem;
    font-size: 0.75rem;
    color: #1e293b;
    box-sizing: border-box;
    transition: all 0.2s ease;
}

.form-text-input::placeholder {
    color: #94a3b8;
}

.form-text-input:focus {
    outline: none;
    border-color: #2563eb;
    background-color: #ffffff;
}

.form-text-input.text-bold {
    font-weight: 600;
}

/* Action Execution Controls */
.primary-action-btn {
    width: 100%;
    background: linear-gradient(135deg, #2563eb, #1d4ed8);
    color: #ffffff;
    padding: 0.625rem 0;
    border-radius: 0.75rem;
    font-size: 0.75rem;
    font-weight: 700;
    border: none;
    cursor: pointer;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    transition: opacity 0.2s ease;
}

.primary-action-btn:hover {
    opacity: 0.95;
}

.secondary-action-btn {
    width: 100%;
    background-color: #1e293b;
    color: #ffffff;
    padding: 0.625rem 0;
    border-radius: 0.75rem;
    font-size: 0.75rem;
    font-weight: 700;
    border: none;
    cursor: pointer;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    transition: background-color 0.15s ease;
}

.secondary-action-btn:hover {
    background-color: #0f172a;
}

/* Exit Route Sign-Out Button */
.logout-link-btn {
    width: 100%;
    background-color: #fef2f2;
    border: 1px solid #fee2e2;
    color: #dc2626;
    padding: 0.75rem 0;
    border-radius: 0.75rem;
    font-weight: 700;
    font-size: 0.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.375rem;
    text-decoration: none;
    box-sizing: border-box;
    transition: background-color 0.15s ease;
}

.logout-link-btn:hover {
    background-color: #fee2e2;
}

/*********************
****AFFILIATE STYLES******
*********************/
/* Core Color Definitions & Layout Standard Settings */
.bg-surface {
    background-color: #f8fafc;
    margin: 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

.affiliate-container {
    max-width: 28rem; /* Custom max-w-md constraint to look exactly like the screenshot app width */
    margin: 25% auto;
    padding: 0 1rem;
    box-sizing: border-box;
}

/* Upper Hero Card Graphics Layout */
.affiliate-hero-card {
    background: linear-gradient(135deg, #0f172a, #1e3a8a); /* Secure deep midnight corporate blue mesh gradient */
    border-radius: 1.5rem;
    padding: 1.5rem;
    color: #ffffff;
    box-shadow: rgba(0, 0, 0, 0.2) 0 10px 50px;;
    position: relative;
    overflow: hidden;
    margin-bottom: 1rem;
}

.hero-bg-icon {
    position: absolute;
    right: -2rem;
    bottom: -2rem;
    opacity: 0.08;
    font-size: 8rem;
    pointer-events: none;
}

.affiliate-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    background-color: rgba(255, 255, 255, 0.1);
    color: #60a5fa;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    padding: 0.25rem 0.625rem;
    border-radius: 9999px;
    margin-bottom: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.hero-title {
    font-size: 1.75rem;
    font-weight: 800;
    letter-spacing: -0.025em;
    margin: 0 0 0.5rem 0;
}

.hero-subtitle {
    color: #94a3b8;
    font-size: 0.75rem;
    line-height: 1.625;
    margin: 0 0 1.5rem 0;
}

/* Floating Glass Module Container Elements */
.referral-link-wrapper {
    border-radius: 1rem;
    padding: 0.875rem;
    background: rgba(255, 255, 255, 0.07);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.referral-lbl {
    font-size: 9px;
    font-weight: 700;
    color: #64748b;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    display: block;
    margin-bottom: 0.375rem;
}

.referral-input-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    background-color: rgba(0, 0, 0, 0.2);
    padding: 0.5rem 0.75rem;
    border-radius: 0.75rem;
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.referral-string {
    font-family: monospace;
    font-size: 10px;
    color: #e2e8f0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
}

.copy-btn {
    background-color: #ffffff;
    color: #0f172a;
    padding: 0.375rem 0.75rem;
    border-radius: 0.5rem;
    font-size: 10px;
    font-weight: 700;
    border: none;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.2s ease;
}

.copy-btn:hover {
    background-color: #f1f5f9;
}

/* Dual Column Metrics Card Alignment Box Grid */
.metrics-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.metric-card {
    background-color: #ffffff;
    border-radius: 1rem;
    border: 1px solid #e2e8f0;
    padding: 1rem;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.02);
    display: flex;
    flex-direction: column;
}

.metric-header-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.5rem;
}

.metric-label {
    font-size: 11px;
    font-weight: 700;
    color: #64748b;
}

.metric-icon-box {
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
}

.metric-icon-box.m-blue { background-color: #eff6ff; color: #2563eb; }
.metric-icon-box.m-green { background-color: #f0fdf4; color: #16a34a; }

.metric-value-display {
    font-size: 1.25rem;
    font-weight: 900;
    color: #0f172a;
    margin-bottom: 0.125rem;
    letter-spacing: -0.02em;
}

.metric-footer-hint {
    font-size: 9px;
    color: #94a3b8;
}

/* Timeline Feed Block Settings */
.history-section-card {
    background-color: #ffffff;
    border-radius: 1rem;
    border: 1px solid #e2e8f0;
    padding: 1.25rem;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.02);
}

.section-card-title {
    font-size: 0.875rem;
    font-weight: 800;
    color: #0f172a;
    margin: 0 0 0.15rem 0;
    display: flex;
    align-items: center;
    gap: 0.375rem;
}

.section-card-title i {
    color: #2563eb;
}

.section-card-subtitle {
    color: #94a3b8;
    font-size: 11px;
    margin: 0 0 1.25rem 0;
}

.timeline-feed-stack {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.timeline-row-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 0.75rem;
    border-bottom: 1px dashed #f1f5f9;
}

.timeline-row-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.timeline-identity-group {
    display: flex;
    align-items: center;
    gap: 0.625rem;
}

.timeline-avatar-indicator {
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background-color: #f0fdf4;
    color: #16a34a;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
}

.timeline-meta-strings {
    display: flex;
    flex-direction: column;
}

.referee-name-header {
    font-size: 12px;
    font-weight: 800;
    color: #1e293b;
    margin: 0;
}

.referee-sub-meta {
    font-size: 11px;
    color: #64748b;
    margin: 0.05rem 0;
}

.bold-text {
    font-weight: 700;
    color: #334155;
}

.timeline-date-lbl {
    font-size: 9px;
    color: #94a3b8;
}

.timeline-reward-value {
    font-size: 0.85rem;
    font-weight: 900;
    color: #16a34a; /* Positive green color tracking for funds entry points */
}

/* Empty Fallback Data Illustration Card Box */
.empty-state-card {
    padding: 2rem 1rem;
    text-align: center;
}

.empty-icon-circle {
    font-size: 1.5rem;
    color: #cbd5e1;
    margin-bottom: 0.5rem;
}

.empty-title-string {
    font-size: 13px;
    font-weight: 700;
    color: #475569;
    margin: 0 0 0.25rem 0;
}

.empty-subtitle-string {
    color: #94a3b8;
    font-size: 11px;
    line-height: 1.5;
    margin: 0 auto;
    max-width: 18rem;
}

.withdrawal-trigger-section {
    margin: 1.5rem 0;
    display: flex;
    justify-content: flex-end;
}

.btn-cashout-trigger {
    background-color: var(--dark-color);
    color: var(--white);
    border: none;
    padding: 0.75rem 1.5rem;
    font-size: var(--font-small);
    font-weight: var(--fw6);
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    transition: var(--trans-background-color);
    box-shadow: 0 4px 12px rgba(0, 106, 255, 0.2);
}

.btn-cashout-trigger:hover {
    background-color: var(--navy-light);
}

/* Modal Subsystem UI Overlays */
.payout-modal-wrapper {
    position: fixed;
    inset: 0;
    background-color: rgba(6, 29, 61, 0.6);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.payout-modal-content {
    background-color: var(--white);
    width: var(--percent100);
    max-width: 420px;
    border-radius: 12px;
    box-shadow: 0 15px 50px rgba(0, 0, 0, 0.3);
    overflow: hidden;
    animation: slideUp 0.3s ease-out;
}

.payout-modal-header {
    background-color: var(--navy-dark);
    color: var(--white);
    padding: 1rem 1.25rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.payout-modal-header h3 {
    margin: 0;
    font-size: 15px;
    font-weight: var(--fw6);
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.close-payout-modal {
    background: transparent;
    border: none;
    color: var(--white);
    font-size: 1.5rem;
    cursor: pointer;
    opacity: 0.7;
}

.close-payout-modal:hover {
    opacity: 1;
}

.payout-form-element {
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.form-input-group {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.form-input-group label {
    font-size: var(--font-smaller);
    font-weight: var(--fw6);
    color: var(--text-dark);
}

.form-input-group input {
    padding: 0.65rem 0.85rem;
    border: 1px solid var(--border-color);
    border-radius: 6px;
    font-size: var(--font-small);
    background-color: var(--gray-bg);
}

.form-input-group input:focus {
    outline: none;
    border-color: var(--dark-color);
}

.btn-submit-payout {
    background-color: var(--green);
    color: var(--white);
    border: none;
    padding: 0.75rem;
    font-size: var(--font-small);
    font-weight: var(--fw7);
    border-radius: 6px;
    cursor: pointer;
    margin-top: 0.5rem;
    transition: var(--trans-background-color);
}

.btn-submit-payout:hover {
    opacity: 0.9;
}

@keyframes slideUp {
    from { transform: translateY(20px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}








/*********************
****COUPONS CLAIMS STYLES******
*********************/
/* Coupon Section Box Container */
.coupon-section {
    background-color: #ffffff;
    border-radius: 1.5rem; /* rounded-3xl */
    padding: 1.25rem; /* p-5 */
    border: 1px solid rgba(226, 232, 240, 0.8); /* border-slate-200/80 */
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); /* shadow-xs */
    margin-bottom: 1.25rem; /* mb-5 */
}

/* Header Elements Group */
.coupon-header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.25rem;
}

.coupon-icon-box {
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 0.5rem;
    background-color: #eff6ff; /* bg-blue-50 */
    color: #2563eb; /* text-blue-600 */
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
}

.coupon-title-group {
    display: flex;
    flex-direction: column;
}

.coupon-title {
    font-size: 0.875rem; /* text-sm */
    font-weight: 800;
    color: #0f172a; /* text-slate-900 */
    letter-spacing: -0.025em; /* tracking-tight */
    margin: 0;
}

.coupon-subtitle {
    color: #94a3b8; /* text-slate-400 */
    font-size: 10px;
    margin: 0;
}

/* Form Layout Components */
.coupon-form {
    margin-top: 1rem;
    display: flex;
    gap: 0.5rem;
}

.coupon-input {
    flex: 1 1 0%;
    padding: 0.625rem 0.875rem;
    background-color: #f8fafc; /* bg-slate-50 */
    border: 1px solid #e2e8f0; /* border-slate-200 */
    border-radius: 0.75rem; /* rounded-xl */
    font-size: 0.75rem;
    font-family: monospace;
    font-weight: 700;
    letter-spacing: 0.05em; /* tracking-wider */
    color: #1e293b; /* text-slate-800 */
    box-sizing: border-box;
    text-transform: uppercase;
    transition: all 0.2s ease;
}

.coupon-input::placeholder {
    color: #94a3b8; /* placeholder-slate-400 */
}

.coupon-input:focus {
    outline: none;
    border-color: #2563eb; /* focus:border-blue-600 */
    background-color: #ffffff; /* focus:bg-white */
}

/* Submission Trigger Button */
.coupon-submit-btn {
    background: linear-gradient(135deg, #2563eb, #1d4ed8); /* Fallback value for brand-gradient */
    color: #ffffff;
    padding: 0.625rem 1rem;
    border-radius: 0.75rem;
    font-size: 0.75rem;
    font-weight: 700;
    border: none;
    cursor: pointer;
    white-space: nowrap;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.02); /* shadow-2xs */
    transition: all 0.2s ease;
}

.coupon-submit-btn:hover {
    opacity: 0.95;
}

.coupon-submit-btn:active {
    transform: scale(0.95);
}

/* Ticket pulse animation framework matching Tailwind config fallback */
.ticket-pulse {
    animation: ticket-pulse-keyframes 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes ticket-pulse-keyframes {
    0%, 100% { opacity: 1; }
    50% { opacity: .5; }
}



/*********************
****BUY STYLES******
*********************/

/* Grid Layout Containers */
.grid-container {
    max-width: 28rem;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
    margin-top: 1rem;
}

.bundle-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.875rem; /* gap-3.5 */
}

/* Modal Core Components */
.modal-overlay {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(15, 23, 42, 0.6); /* bg-slate-900/60 */
    backdrop-filter: blur(4px); /* backdrop-blur-xs */
    z-index: 50;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    transition: opacity 300ms ease;
}

.modal-container {
    background-color: #ffffff;
    width: 100%;
    max-width: 28rem; /* max-w-md */
    border-radius: 1.5rem;
    margin-bottom: 18%;
    padding: 1.5rem;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    transform: translateY(0);
    transition: transform 300ms ease;
    box-sizing: border-box;
}

/* Drag bar indicator */
.modal-drag-handle {
    width: 3rem;
    height: 0.25rem;
    background-color: #e2e8f0;
    border-radius: 9999px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1.25rem;
}

/* Modal Header Content */
.modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.modal-title {
    font-size: 1rem;
    font-weight: 700;
    color: #0f172a;
    margin: 0;
}

.modal-close-btn {
    width: 2rem;
    height: 2rem;
    border-radius: 9999px;
    background-color: #f1f5f9;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #94a3b8;
    cursor: pointer;
    transition: color 0.2s ease;
}

.modal-close-btn:hover {
    color: #475569;
}

/* Form Groups & Context Fields */
.form-group {
    margin-bottom: 1.25rem;
}

.input-label {
    display: block;
    font-size: 0.75rem;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.5rem;
}

.input-wrapper {
    position: relative;
}

.input-icon {
    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
    color: #94a3b8;
}

.input-icon i {
    font-size: 0.75rem;
}

.phone-input {
    width: 100%;
    padding-left: 2.75rem;
    padding-right: 1rem;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    background-color: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 0.75rem;
    color: #1e293b;
    font-weight: 700;
    font-size: 0.875rem;
    letter-spacing: 0.05em;
    transition: all 0.2s ease;
    box-sizing: border-box;
}

.phone-input::placeholder {
    color: #94a3b8;
}

.phone-input:focus {
    outline: none;
    border-color: #2563eb;
    background-color: #ffffff;
}

/* Order Summary Box */
.summary-box {
    background-color: #f8fafc;
    border: 1px solid #f1f5f9;
    border-radius: 0.75rem;
    padding: 0.875rem;
    margin-bottom: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.summary-label {
    font-size: 10px;
    font-weight: 700;
    color: #94a3b8;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    display: block;
}

.summary-price {
    font-size: 1rem;
    font-weight: 900;
    color: #0f172a;
}

.payment-badge {
    font-size: 9px;
    font-weight: 700;
    background-color: #dbeafe;
    color: #1d4ed8;
    padding: 0.125rem 0.5rem;
    border-radius: 9999px;
    text-transform: uppercase;
}

/* Action Button triggers */
.submit-btn {
    width: 100%;
    background: linear-gradient(135deg, #2563eb, #1d4ed8); /* Fallback value for your brand-gradient */
    color: #ffffff;
    padding-top: 0.875rem;
    padding-bottom: 0.875rem;
    border-radius: 0.75rem;
    font-weight: 700;
    font-size: 0.875rem;
    border: none;
    cursor: pointer;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.375rem;
    transition: all 0.2s ease;
}

.submit-btn:hover {
    opacity: 0.95;
}

/* State management utility modifiers matching your setTimeout rules */
.hidden {
    display: none !important;
}

.opacity-0 {
    opacity: 0;
}

.translate-y-full {
    transform: translateY(100%);
}
/* Container adjustments matching screenshot aspect */
.grid-container {
    max-width: 28rem;
    margin: 1rem auto;
    padding: 0 1rem;
}

.bundle-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.875rem;
}

/* Individual Package Cards mimicking your screenshot image */
.bundle-card {
    background-color: #ffffff;
    border: 1px solid #eef2f6;
    border-radius: 1.25rem;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
    position: relative;
    box-sizing: border-box;
}

.card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.75rem;
}

.network-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 10px;
    font-weight: 700;
    color: #d97706; /* Amber color matching image */
    background-color: #fef3c7;
    padding: 0.15rem 0.5rem;
    border-radius: 9999px;
    border: 1px solid #fde68a;
}

.status-dot {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background-color: #d97706;
}

/* Brand badge variations */
.network-brand-logo {
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.network-brand-logo.mtn {
    background-color: #ffcc00; /* MTN Yellow from your photo */
    border: 2px solid #ffcc00;
}

.logo-text {
    font-size: 9px;
    font-weight: 900;
    color: #003366; /* Deep corporate blue */
}

/* Typography styles matching image metrics */
.bundle-title-display {
    font-size: 1.15rem;
    font-weight: 800;
    color: #0f172a;
    margin: 0.25rem 0 0.75rem 0;
}

.bundle-specs-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    border-top: 1px dashed #e2e8f0;
    padding-top: 0.75rem;
    margin-bottom: 1rem;
}

.spec-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.spec-label {
    font-size: 11px;
    color: #94a3b8;
}

.spec-label i {
    font-size: 10px;
    margin-right: 0.25rem;
    opacity: 0.7;
}

.spec-value {
    font-size: 11px;
    font-weight: 700;
    color: #334155;
}

.spec-value.highlight-warn {
    color: #64748b;
    font-size: 10px;
    max-width: 65px;
    text-align: right;
    line-height: 1.2;
}

/* Footer context & Actions */
.card-footer-action {
    margin-top: auto;
    border-top: 1px solid #f1f5f9;
    padding-top: 0.75rem;
}

.price-header-lbl {
    font-size: 9px;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    display: block;
    margin-bottom: 0.15rem;
}

.price-value-lbl {
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--navy-dark); /* Blue accent color */
    display: block;
    margin-bottom: 0.5rem;
}

.card-buy-btn {
    width: 100%;
    background: linear-gradient(135deg, #1E3E62, #061d3d);
    color: #ffffff;
    border: none;
    padding: 0.65rem 0;
    border-radius: 0.85rem;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    box-shadow: 0 4px 10px rgba(37, 99, 235, 0.15);
    transition: all 0.2s ease;
}

.card-buy-btn:hover {
    opacity: 0.95;
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.25);
}

.card-buy-btn:active {
    transform: scale(0.97);
}

.card-buy-btn i {
    font-size: 9px;
}

.no-packages {
    grid-span: all;
    grid-column: 1 / -1;
    text-center: center;
    padding: 2rem 0;
    color: #94a3b8;
    font-size: 12px;
}

/* Horizontal Network Tabs Container */
.network-tabs-bar {
    background-color: #ffffff;
    padding: 0.75rem 1rem;
    overflow-x: auto;
    display: flex;
    gap: 0.5rem;
    position: sticky;
    top: 53px;
    z-index: 30;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    border-bottom: 1px solid #f1f5f9;
    box-sizing: border-box;
    margin-top: 20%;
}

/* Hide scrollbar functionality across platforms */
.network-tabs-bar {
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;  /* Firefox */
}
.network-tabs-bar::-webkit-scrollbar {
    display: none; /* Chrome, Safari and Opera */
}

/* Base Tab Layout Button Class */
.net-tab {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    border-radius: 0.75rem;
    font-size: 0.75rem;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.2s ease;
    border: 1px solid #e2e8f0;
    background-color: #f8fafc;
    color: #475569;
}

.net-tab i {
    font-size: 10px;
}

.net-tab:hover {
    background-color: #f1f5f9;
}

/* Active State Tab Class Modification */
.net-tab.active {
    background-color: var(--navy-dark);
    border-color: #2563eb;
    color: #ffffff;
}

/* Count Badges Embedded inside the buttons */
.net-tab .badge {
    font-size: 10px;
    padding: 0.125rem 0.375rem;
    border-radius: 0.375rem;
    background-color: #e2e8f0;
    color: #475569;
}

.net-tab.active .badge {
    background-color: rgba(255, 255, 255, 0.2);
    color: #ffffff;
}

/* Segmented Order Toggle Switch Row Box */
.toggle-container {
    max-width: 28rem; /* max-w-md */
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
    margin-top: 1rem;
    box-sizing: border-box;
}

.order-toggle-bar {
    background-color: #ffffff;
    border: 1px solid #e2e8f0;
    padding: 0.375rem;
    border-radius: 1rem;
    display: flex;
    gap: 0.25rem;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.toggle-btn {
    width: 50%;
    padding: 0.625rem 0;
    border-radius: 0.75rem;
    font-size: 0.75rem;
    font-weight: 700;
    border: none;
    background: transparent;
    color: #64748b;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.375rem;
    cursor: pointer;
    transition: all 0.2s ease;
}

.toggle-btn:hover {
    background-color: #f8fafc;
}

/* Active Highlight Style Rule for Method Selector Switches */
.toggle-btn.active {
    color: #2563eb;
    background-color: #eff6ff;
}

/* Select boxes adjustment configurations */
.select-box-override {
    padding-left: 1rem !important;
    font-size: 0.85rem !important;
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://w3.org' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 1rem;
}

/* Bulk input tracking textbox overrides */
.textarea-override {
    font-family: monospace;
    letter-spacing: 0.08em;
    font-size: 0.85rem !important;
    line-height: 1.5;
    resize: none;
    padding: 0.75rem 1rem !important;
    height: auto;
}

/* Display rules hidden state triggers */
.hidden {
    display: none !important;
}






/* ----------------------
  DESKTOP STYLES 
  (Screens 768px and wider)
  ---------------------- */
@media screen and (min-width: 768px) {
    /* Grid Framework for Metric Panels */
    .stats-grid {
        display: grid;
        gap: 1rem;
        margin-bottom: 2rem;
    }

    .form-row { 
        flex-direction: row; 
        display: flex; 
        gap: 15px; 
        width: 100%;
    }
    
    .mobile-prompt { 
        display: none; /* Hide the text links since buttons are visible on the overlay */
    } 
    
    .auth-box {
        position: absolute;
        top: 0;
        height: 100%;
        width: 50%; /* Each form takes half the container */
        padding: 50px;
        display: flex; /* Always display both on desktop */
        transition: all 0.6s ease-in-out;
    }

    .login-box { 
        left: 0; 
        z-index: 2; 
        opacity: 1; 
    }

    .signup-box { 
        left: 0; 
        opacity: 0; 
        z-index: 1; 
    }

    .contain{
        margin: 20% 0 20% 0;
    }
    
    /* DESKTOP MOVEMENT ON ACTIVE SLIDE */
    .contain.active .login-box { 
        transform: translateY(100%); 
        opacity: 0; 
        z-index: 1; 
    }
    
    .contain.active .signup-box { 
        transform: translateX(100%); 
        opacity: 1; 
        z-index: 5; 
    }

    /* OVERLAY SETUP (Desktop Only) */
    .overlay-cover {
        display: block;
        position: absolute;
        top: 0;
        left: 50%;
        width: 50%;
        height: 100%;
        overflow: hidden;
        transition: transform 0.6s ease-in-out;
        z-index: 100;
        background-color: var(--dark-color);
        color: var(--white);
    }

    .contain.active .overlay-cover { 
        transform: translateX(-100%); 
    }

    .overlay-panel {
        position: absolute;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        padding: 0 40px;
        text-align: center;
        top: 0;
        height: 100%;
        width: 100%;
        transition: transform 0.6s ease-in-out;
    }

    .panel-left { 
        transform: translateX(-100%); 
    }
    
    .contain.active .panel-left { 
        transform: translateX(0); 
    }

    .panel-right { 
        transform: translateX(0); 
    }
    
    .contain.active .panel-right { 
        transform: translateX(100%); 
    }

    .grid span{
        font-size: 16px;
    }

    .grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 1.5rem;
        text-align: center;
    } 

}   


/* Core Desktop Structural Layout Grid */
@media (max-width: 639px) {
    /* Outer container grid */
    .flexwrap {
        display: flex;
        flex-wrap: wrap; /* Stacks on desktop */
        gap: 10px;
        width: 100%;
    }
}

@media (max-width: 768px) {
    /* Aligns newsletter side-by-side on desktop */
    .newsletter .wrapper {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .newsletter p {
        margin: 0.5em 0 0; /* Clears bottom margin on desktop */
    }
    .newsletter .box{
        display: flex;
        align-items: center;
    }

    /* Forces the 4 widget columns to sit side-by-side */
    .widgets .row,
    .checkout .item {
        flex: 1; /* Splits the 100% width equally by 4 */
    }

    /* Aligns logo, socials, and copyright in a clean layout */
    .footer-info .wrapper {
        justify-content: space-between;
        align-items: center;
    }

    .footer-info .wrapper .flexcol {
        gap: 30px;
    }
    
    .mega ul {
        width: 90%;
    }

    /* Define widths to place items horizontally */
    .flexwrap {
        flex-wrap: nowrap; /* Forces Big and the Wrapper to share the row */
        align-items: flex-start;
    }

}
/* Core Desktop Structural Layout Grid */
@media (min-width: 992px) {

    .widgets .flexwrap {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
    }

    .widget .row {
        flex: 0 0 25%;
    }

    /*FOOTER**/
    .newsletter .box{
        display: flex;
        gap: 1em;
        max-width: 500px;
        width: var(--percent100);
        justify-content: space-between;
        align-items: center;
    }

    main {
        grid-template-columns: 2fr 1fr;
    }

    .desktop-hide {
        display: none;
    }

    .mobile-hide {
        display: block;
    }

    /* Grid Framework for Metric Panels */
    .stats-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
        gap: 1rem;
        margin-bottom: 2rem;
    }

    .grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 1.5rem;
        text-align: center;
    } 


}