@font-face {
    font-family: quicksand-medium;
    src: url(./fonts/quicksand/Quicksand-Medium.ttf);
}

@font-face {
    font-family: quicksand-bold;
    src: url(./fonts/quicksand/Quicksand-Bold.ttf);
}

#wpcontent {
    padding-left: 0;
}

.vlv-admin {
    font-family: quicksand-bold;
    margin: 0;
}

.vlv-admin .header {
    padding: 12px 24px;
    background: #fff;
    border-bottom: 1px solid #e5e5e5;
    display: flex;
    justify-content: space-between;
    margin-bottom: 24px;
}

.vlv-admin .header-button {
    font-size: 14px;
    font-weight: bold;
    background: #1575fb;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    border-radius: 6px;
    color: #fff;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
}

.vlv-admin .header-button:hover {
    transform: scale(1.1);
    transform-origin: center;
}

.vlv-admin .header-logo {
    height: 40px;
    transition: all 0.2s ease-in-out;
    cursor: pointer;
}

.vlv-admin .header-logo:hover {
    transform: scale(1.1);
    transform-origin: center;
}

.vlv-admin .content {
    padding: 24px;
    display: flex;
    gap: 24px;
}

.vlv-admin .content .left {
    flex: 2;
}

.vlv-admin .content .right {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.vlv-admin .content .row {
    display: flex;
    gap: 24px;
}

.vlv-admin .box {
    background: #fff;
    box-shadow: 2px 2px 16px rgba(0,0,0,0.05);
    border-radius: 6px;
    padding: 12px 12px 18px;
}

.vlv-admin .content .row.stats .box {
    flex: 1;
    width: 25%;
    height: 60px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.vlv-admin .content .row .box .box-title {
    color: #8f8f8f;
    white-space: nowrap;
}

.vlv-admin .content .row .box .box-value {
    font-size: 32px;
    text-align: left;
}

.vlv-admin .content .box.referer {
    max-width: unset;
    padding: 48px;
    background: linear-gradient(45deg, black, #3b3b3b);
    justify-content: center;
    background: url("./images/space-bg.jpg") no-repeat center;
    background-size: cover;
    color: #fff;
    height: unset;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
}

.vlv-admin .content .box.referer:hover {
    transform: scale(1.02);
    transform-origin: center;
}

.vlv-admin .content .box.referer .box-title {
    font-size: 36px;
    line-height: 48px;
    color: #fff;
    margin-bottom: 24px;
}

.vlv-admin .referer-details {
    font-size: 14px;
    font-family: 'quicksand-medium';
}

.vlv-admin .referer-details ul {
    margin-bottom: 24px;
}

.vlv-admin .referer-details .banner-button {
    width: 100%;
    box-sizing: border-box;
    border: 2px solid #fff;
    padding: 12px;
    text-align: center;
    border-radius: 6px;
    margin-top: 32px;
    background: rgba(255,255,255,0.1);
    cursor: pointer;
    transition: all 0.2s ease-in-out;
}

.vlv-admin .referer-details .banner-button:hover {
    transform: scale(1.1);
    transform-origin: center;
}

.vlv-admin .referer-details li {
    margin-left: 32px;
    position: relative;
}

.vlv-admin .referer-details li:before {
    content: "✨";
    position: absolute;
    left: -32px;
    font-size: 18px;
}

.vlv-admin .referer-details li.recovery:before {
    content: "🔁";
}

.vlv-admin .referer-details li.event:before {
    content: "⚡";
}

.vlv-admin .referer-details li.campaign:before {
    content: "🚀";
}

.vlv-admin .referer-details li.chat:before {
    content: "💬";
}

.vlv-admin .referer-details li.profile:before {
    content: "✅";
}

.vlv-admin .referer-details li.analytics:before {
    content: "📊";
}

.vlv-admin .more {
    width: 100%;
    color: #1575fb;
    justify-content: flex-end;
    padding: 12px 0 6px;
    border-bottom: 1px solid #d7d7d7;
    cursor: pointer;
    margin-bottom: 32px;
}

.vlv-admin .more:hover div {
    color: #0961db;
}

.vlv-admin .more span.dashicons {
    font-size: 12px !important;
    margin-top: 3px;
}

.vlv-admin .auth-emails-list-container.box {
    padding: 24px;
}

.vlv-admin .auth-emails-list-container .title {
    font-size: 24px;
    line-height: 24px;
    margin-bottom: 6px;
}

.vlv-admin .auth-emails-list-container .description {
    font-size: 14px;
    font-family: quicksand-medium;
    color: #6a6a6a;
    margin-bottom: 24px;
}

.vlv-admin .users-list {
    margin-bottom: 48px;
}

.vlv-admin .user-item {
    display: flex;
    gap: 12px;
    margin-bottom: 12px;
}

.vlv-admin .user-item .field {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.vlv-admin .user-item .field input {
    margin-bottom: 4px;
    background: #fff;
}

.vlv-admin .field input.error {
    background: #ffeded;
    border-color: #ecc3c3;
}

.vlv-admin .error-message {
    color: #d36b6b;
    font-size: 14px;
    margin-top: 12px;
    display: none;
    background: #fff0f0;
    padding: 12px 18px;
    border-radius: 6px;
    text-align: center;
}

.vlv-admin .success-message {
    color: #63cf63;
    font-size: 14px;
    margin-top: 12px;
    display: none;
    background: #eaffea;
    padding: 12px 18px;
    border-radius: 6px;
    text-align: center;
}

.vlv-admin .error-message.shown, .vlv-admin .success-message.shown {
    display: block;
}

.vlv-admin .user-item .field input::placeholder {
    color: #aaa; /* your color here */
    opacity: 1;  /* ensures consistent color across browsers */
}

.vlv-admin .user-item .field > span {
    font-size: 12px;
    font-family: quicksand-medium;
    color: #6a6a6a;
}

.vlv-admin .primary-button {
    padding: 12px 24px;
    background: #1575fb;
    color: #fff;
    display: inline-block;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    border: 0;
}

.vlv-admin .managers-buttons {
    display: flex;
    gap: 12px;
}

.vlv-admin .managers-list-button, .vlv-admin .managers-list-add-button {
    padding: 12px 24px;
    background: #1575fb;
    color: #fff;
    display: inline-block;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    border: 0;
}

.vlv-admin .managers-list-button:disabled, .vlv-admin .managers-list-add-button:disabled {
    background: #f1f1f1 !important;
    color: #c1c2c4 !important;
    border-color: transparent;;
}

.vlv-admin .managers-list-button:hover {
    background: #0961db;
}

.vlv-admin .managers-list-add-button {
    background: #fff;
    border: 1px solid #8c8f94;
    color: #000;
}

.vlv-admin .managers-list-add-button:hover {
    border-color: #1575fb;
    color: #1575fb;
}

.vlv-admin .action-button {
    padding: 3px 4px 4px 5px;
    border: 1px solid #8c8f94;
    border-radius: 4px;
    color: #4c4c4c;
    background: #f6f6f6;
    transition: all 0.2s ease-in-out;
    cursor: pointer;
}

.vlv-admin .action-button:disabled {
    color: #cbccce;
    border-color: #cbccce;
    cursor: default;
}

.vlv-admin .managers-list-button.disabled, .vlv-admin .managers-list-add-button.disabled {
    color: #cbccce;
    border-color: #cbccce;
    cursor: default;
}

.vlv-admin .action-button:not(:disabled):hover {
    padding: 3px 4px 4px 5px;
    border: 1px solid #e39f9f;
    border-radius: 4px;
    color: #fff;
    background: #e39f9f;
}

.vlv-admin .box.chat-app {
    position: relative;
    background: linear-gradient(45deg, #000, #0d154e 51%);
    color: #fff;
    background: url("./images/mobile-app-background.jpg") repeat;
    background-size: auto;
    overflow: hidden;
}

.vlv-admin .box.chat-app .inner-bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(45deg, #ff9932e8, #8c008f8c);
}

.vlv-admin .box.chat-app .content {
    /*max-width: 50%;*/

    flex-direction: column;
    z-index: 2;
    position: relative;
}

.vlv-admin .box.chat-app .content .title {
    font-size: 36px;
    line-height: 42px;
}

.vlv-admin .box.chat-app .content .description {
    /* width: 74%; */
    font-family: 'quicksand-medium';
    font-size: 14px;
    line-height: 22px;
}

.vlv-admin .box.chat-app .content .actions {
    display: flex;
    gap: 24px;
}

/*.vlv-admin .box.chat-app img {*/
/*    position: absolute;*/
/*    width: 250px;*/
/*    height: auto;*/
/*    left: -24px;*/
/*    top: 17px;*/
/*    filter: drop-shadow(2px 4px 11px rgba(0, 0, 0, 0.3));*/
/*}*/

.vlv-admin .box.chat-app .mobile-box-bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: auto;
}

.vlv-admin .box.contact-us {
    margin-top: 24px;
    padding: 24px;
    display: flex;
    gap: 24px;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
}

.vlv-admin .box.contact-us:hover {
    transform: scale(1.03);
    z-index: 2;
}

.vlv-admin .box.contact-us img {
    width: 70px;
    height: 70px;
}

.vlv-admin .contact-us .title, .vlv-admin .settings .title {
    font-size: 24px;
    line-height: 32px;
    margin-bottom: 12px;
    color: #000;
}

.vlv-admin .contact-us .subtitle {
    font-family: quicksand-medium;
    padding-left: 0;
    font-size: 18px;
    line-height: 24px;
}

.vlv-admin .box.instructions {
    margin-bottom: 24px;
    background: #fffee3;
    font-size: 14px;
    line-height: 20px;
    padding: 24px;
    color: #e0ae0b;
    display: flex;
    flex-direction: column;
    gap: 12px;
    font-family: quicksand-medium;
}

.vlv-admin a {
    text-decoration: none;
}

.vlv-admin .content .row .box {
    flex: 1;
}

.vlv-admin .box.settings {
    margin-top: 24px;
    padding: 24px;
}

.vlv-admin .field-row {
    margin-bottom: 24px;
}

.vlv-admin .field-row div {
    margin-bottom: 4px;
}

.vlv-admin .field-row input, .vlv-admin .field-row div {
    width: 100%;
}

.vlv-admin .field-row input {
    font-family: quicksand-medium;
    font-size: 12px;
}

.vlv-admin input#vuelve_consent_v2_default_checked {
    width: 17px;
    height: 16px;
}

.vlv-admin .checkbox-note {
    color: #959595;
    max-width: 600px;
    margin-top: 2px;
    font-size: 11px;
    font-family: 'quicksand-medium';
    margin-left: 24px;
}

/* Target ONLY the Vuelve menu item */
#adminmenu .toplevel_page_vuelve-admin .wp-menu-image {
    /* optional: makes centering/padding easier */
    display: flex;
    align-items: center;
    justify-content: center;
}

#adminmenu .toplevel_page_vuelve-admin .wp-menu-image img {
    /* adjust these to taste */
    padding: 2px 6px 0 6px;   /* top right bottom left */
    width: 20px;              /* keep icon crisp inside the 36px slot */
    height: 20px;
    object-fit: contain;
}

/* If you want a tiny gap between icon and label */
#adminmenu .toplevel_page_vuelve-admin .wp-menu-name {
    padding-left: 2px;
}