.novalon-swap{
    font-family:Inter,sans-serif;
    width:100%;
    max-width:520px;
    margin:40px auto;
    background:#0d1b2f;
    border:1px solid rgba(255,255,255,.08);
    border-radius:24px;
    padding:24px;
    box-sizing:border-box;
}


/* HEADER */

.novalon-swap-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:24px;
}

.novalon-header-title{
    display:flex;
    flex-direction:column;
    gap:2px;
}

.novalon-swap-header h2{
    margin:0;
    font-size:28px;
    font-weight:700;
    color:#fff;
}



.novalon-settings{
    width:40px;
    height:40px;
    border:none;
    border-radius:12px;
    background:#1b2638;
    color:#fff;
    font-size:18px;
    cursor:pointer;
}


/* INPUT BOXES */

.novalon-input-card{

    position:relative;
    background:#182235;
    border:1px solid rgba(255,255,255,.08);
    border-radius:18px;
    padding:18px;
    margin-bottom:16px;

}


.novalon-input-card label{

    display:block;
    color:#9ca3af;
    font-size:14px;
    margin-bottom:12px;
    font-weight:500;

}


.novalon-input-card input{

    width:100%;
    background:transparent;
    border:none;
    outline:none;
    color:#fff;
    font-size:32px;
    font-weight:700;
    padding:0;
    margin-bottom:16px;

}


/* TOKEN SELECT */

.novalon-token-selector{

    width:100%;
    display:flex;
    align-items:center;
    gap:12px;
    padding:10px 14px;
    background:#111c2e;
    border:1px solid rgba(255,255,255,.08);
    border-radius:16px;
    cursor:pointer;
    color:#fff;

}


.novalon-token-icon{

    width:30px;
    height:30px;
    border-radius:50%;
    object-fit:contain;
    flex-shrink:0;

}


.novalon-token-text{

    display:flex;
    flex-direction:column;
    flex:1;
    text-align:left;

}


.novalon-token-name{

    color:#fff;
    font-size:15px;
    font-weight:600;

}


.novalon-token-symbol{

    color:#8b98b3;
    font-size:13px;

}


.novalon-token-arrow{

    color:#9ca3af;
}


/* DROPDOWN */

.novalon-token-dropdown-pay,
.novalon-token-dropdown-receive{

    display:none;
    position:absolute;
    top:100%;
    left:18px;
    right:18px;
    margin-top:8px;
    background:#111c2e;
    border:1px solid rgba(255,255,255,.08);
    border-radius:16px;
    overflow:hidden;
    z-index:100;

}


.novalon-token-option{

    display:flex;
    align-items:center;
    gap:12px;
    padding:12px 16px;
    cursor:pointer;

}


.novalon-token-option:hover{

    background:#1b2940;

}


.novalon-token-option img{

    width:32px;
    height:32px;
    border-radius:50%;

}


.novalon-token-option span{

    color:#fff;

}


/* SWAP BUTTON */

.novalon-arrow{

    display:flex;
    justify-content:center;
    align-items:center;
    width:42px;
    height:42px;
    margin:0 auto 16px;
    background:#243247;
    border:1px solid rgba(255,255,255,.08);
    border-radius:50%;
    color:#fff;
    font-size:20px;

}


.novalon-connect{

    width:100%;
    margin-top:20px;
    padding:16px;
    border:none;
    border-radius:16px;
    background:#2CBCA5;
    color:#fff;
    font-size:16px;
    font-weight:600;

}


/* REMOVE INPUT ARROWS */

#novalon-pay-amount::-webkit-inner-spin-button,
#novalon-pay-amount::-webkit-outer-spin-button{

    -webkit-appearance:none;

}

#novalon-pay-amount{

    -moz-appearance:textfield;

}


/* ===========================
   Review Swap Modal
=========================== */

.novalon-modal {
    position: fixed;
    inset: 0;
    display: none;
    justify-content: center;
    align-items: center;
    background: rgba(0,0,0,.65);
    backdrop-filter: blur(8px);
    z-index:9999;
}

.novalon-modal.active {
    display:flex;
}


.novalon-modal-content {

    width:100%;
    max-width:460px;

    background:#0d1b2f;

    border:1px solid rgba(255,255,255,.08);

    border-radius:24px;

    padding:24px;

    box-sizing:border-box;

    color:#ffffff;

    box-shadow:0 20px 60px rgba(0,0,0,.45);

}



.novalon-modal-content h3 {

    margin:0 0 24px;

    font-size:28px;

    font-weight:700;

    color:#ffffff;

}



/* Rows */

.novalon-review-row {

    display:flex;

    justify-content:space-between;

    align-items:center;

    background:#182235;

    border:1px solid rgba(255,255,255,.08);

    border-radius:18px;

    padding:18px;

    margin-bottom:12px;

}



.novalon-review-row span {

    color:#9ca3af;

    font-size:14px;

    font-weight:500;

}



.novalon-review-row strong {

    color:#ffffff;

    font-size:16px;

    font-weight:700;

}



/* Confirm button */

#novalon-confirm-swap {

    width:100%;

    margin-top:12px;

    height:56px;

    border:none;

    border-radius:16px;

    background:#2CBCA5;

    color:#ffffff;

    font-size:16px;

    font-weight:700;

    cursor:pointer;

    transition:.2s ease;

}


#novalon-confirm-swap:hover {

    background:#189681;

}

/* ==================================
   EXCHANGE TWO COLUMN LAYOUT
================================== */

.novalon-exchange{

    display:flex;
    flex-wrap:wrap;
    gap:20px;
    align-items:stretch;
    justify-content:center;
    width:100%;
    max-width:1060px;
    margin:40px auto;

}


.novalon-swap,
.novalon-portfolio{

    width:520px;
    flex:0 0 520px;

}


/* ==================================
   PORTFOLIO
================================== */


.novalon-portfolio-card{

    width:100%;
    background:#0d1b2f;
    border:1px solid rgba(255,255,255,.08);
    border-radius:24px;
    padding:24px;
    padding-bottom:35px;
    box-sizing:border-box;
    color:#fff;

}


.novalon-portfolio-card h2{

    margin:0 0 16px;
    font-size:28px;
    font-weight:700;

}


.novalon-wallet-card,
.novalon-balance-card{

    background:#182235;
    border:1px solid rgba(255,255,255,.08);
    border-radius:18px;
    padding:18px;
    margin-bottom:16px;

}


.novalon-label{

    display:block;
    color:#9ca3af;
    font-size:14px;
    margin-bottom:12px;

}


#novalon-portfolio-wallet{

    color:#fff;
    font-size:16px;
    font-weight:600;

}


#novalon-portfolio-balance{

    color:#fff;
    font-size:32px;
    font-weight:700;

}


#novalon-portfolio-value{

    margin-top:8px;
    display:block;
    color:#2CBCA5;

}


/* MOBILE */

@media(max-width:1100px){

    .novalon-exchange{

        flex-direction:column;
        align-items:center;
        gap:16px;

    }

    .novalon-swap,
    .novalon-portfolio{

        width:100%;
        max-width:520px;
        margin-top:0;

    }

}
.novalon-swap,
.novalon-portfolio {
    margin-top:40px;
}

@media(max-width:1100px){

    .novalon-swap,
    .novalon-portfolio{

        margin-top:0;

    }

}
.novalon-connect {

    transition:all .2s ease;

}


.novalon-connect:hover {

    background:#189681;

    transform:translateY(-1px);

}
/* ==========================================
   NOVALON MARKET CARD
========================================== */

.novalon-market-card {

    background:#182235;

    border:1px solid rgba(255,255,255,.08);

    border-radius:18px;

    padding:18px;

    margin-top:16px;

}


.novalon-market-card h2 {

    margin:0 0 16px;

    font-size:20px;

    font-weight:700;

    color:#ffffff;

}


.novalon-market-price {

    font-size:32px;

    font-weight:700;

    color:#ffffff;

}
.novalon-current-label {

    color:#9ca3af;
    font-size:14px;
    font-weight:500;
    margin-bottom:8px;
}
.novalon-market-stat strong{

    font-weight:400 !important;

}
.novalon-market-stat span{

    color:#9ca3af;
    font-size:14px;
    font-weight:500;

}
#novalon-market-change{

    display:flex;
    align-items:center;
    gap:6px;

}

#novalon-market-change-icon{

    width:16px;
    height:16px;

}
#novalon-market-change-value{

    color:#ffffff;
    font-size:16px;
    font-weight:400;

}

#novalon-market-change{

    display:flex;
    align-items:center;
    gap:8px;

}

#novalon-market-change-icon{

    width:18px;
    height:18px;
}
/* ==========================================
   SWAP INFORMATION
========================================== */

.novalon-swap-info{

    width:100%;
    box-sizing:border-box;

    margin:0 0 16px;

    padding:18px;

    background:#182235;
    border:1px solid rgba(255,255,255,.08);
    border-radius:18px;

}

.novalon-swap-info-row{

    display:flex;
    justify-content:space-between;
    align-items:center;

    width:100%;

}

.novalon-swap-info-row:not(:last-child){

    margin-bottom:14px;

}

.novalon-swap-info-row span{

    color:#9ca3af;
    font-size:14px;
    font-weight:500;

}

.novalon-swap-info-row strong{

    color:#ffffff;
    font-size:16px;
    font-weight:600;

}