/**
 * All of the CSS for your admin-specific functionality should be
 * included in this file.
 */

.hide {
    display: none !important;
}

.tpul__plugin-reviews{
    padding-top: 47px;
}
.tpul__plugin-reviews div{
    padding-bottom: 10px;
}

.tpul_admin_button{
    min-width: 140px;
}

.tpul_table_small td{
    padding: 3px;
}


.tpul_admin_form{
    background: white;
    padding: 20px;
    margin-top: 25px;
    border-radius: 5px;
    border: 1px solid #ddd;
    max-width: 1218px;
}

.tpul_admin_form tbody > tr{
    padding: 20px 13px !important;
    display: block;
}

.tpul_admin_form tbody > tr:not(:last-child){
    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

.tpul_admin_form tbody > tr:first-child{
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;

}
.tpul_admin_form tbody > tr:last-child{
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
}

.tpul_admin_form tbody > tr:last-child{
    border-bottom-color: rgba(0, 0, 0, 0.2);
    border-bottom-style: solid;
    border-bottom-width: 1px;
}

.tpul_settings_section_header_parent{
    margin-top: 28px;
}
.tpul_settings_section_header{

}

.tpul_pl_5{
    padding-left: 5px;
}

.tpul_plr_5{
    padding-left: 5px;
    padding-right: 5px;
}

.tpul_pb_5{
    padding-bottom: 5px;
}

.tpul_pb_10{
    padding-bottom: 10px;
}

.tpul_pb_15{
    padding-bottom: 15px;
}


.tpul_pt_5{
    padding-top: 5px;
}
.tpul_pt_10{
    padding-top: 10px;
}
.tpul_pt_15{
    padding-top: 15px;
}


.tpul_ptb_5{
    padding-top: 5px;
    padding-bottom: 5px;
}

.tpul_ptb_10{
    padding-top: 10px;
    padding-bottom: 10px;
}

.tpul_ptb_15{
    padding-top: 15px;
    padding-bottom: 15px;
}


.form-table td p.tpul__license_notify_text{
    margin-bottom: 10px;
}

body.tpul-admin-page .lhl__restricted_box,
body.tpul-admin-page .tpul__restricted_box,
.tpul__restricted_box{
    border: 1px solid #e05e1b;
    border-radius: 8px;
     padding:10px; 
     width: 700px;
     background: rgba(255, 185, 0, 0.05);
}

body.tpul-admin-page .lhl__restricted_box .lhl__license_notify_text,
.tpul__restricted_box .tpul__license_notify_text{
    /* color: #f56e28; */
    color: #e05e1b;
    font-weight: 600;
}


.tpul__alowed_box,
body.tpul-admin-page .lhl__alowed_box{
    border: 1px solid #334aff; padding:10px; 
    border-radius: 8px;
    /* background: rgba(70, 180, 80, 0.07); */
    background: none;
    width: 700px;
}
@media screen and (min-width: 480px) {
    .tpul__alowed_box,
    body.tpul-admin-page .lhl__alowed_box{
        min-width: 450px;
        max-width: 700px;
    }
}



.tpul__alowed_box .tpul__license_notify_text,
body.tpul-admin-page .lhl__alowed_box .lhl__license_notify_text{
    /* color: rgba(70, 180, 80, 1); */
    color: #334aff;
}


.tpul__enter_license_box{
    border: 1px solid #1882d9;
    padding:10px;
    background: rgba(26, 87, 219, 0.1)
}

.tpul__enter_license_box .tpul__license_notify_text{
    color: #1882d9;
}

.load_spinner{
    display: inline-block;
    vertical-align: text-top;
}

.tpul_admin_icon_button svg{
    vertical-align: middle;
}

.tpul_admin_icon_button span{
    display: inline-block;
}

.tpul_csv_log_tools{
    margin-top: 15px;
    padding: 10px 10px 10px;
    border: 1px solid #bababa;
    max-width: 600px;
}


.tpul_logging_status.tpul_logging_status--on .tpul_logging_off_indicator{
    display: none;
}
.tpul_logging_status.tpul_logging_status--off .tpul_logging_on_indicator{
    display: none;
}

.tpul_logging_status.tpul_logging_status--on .tpul_advanced_log_button--turn-on{
    display: none;
}
.tpul_logging_status.tpul_logging_status--off .tpul_advanced_log_button--turn-off{
    display: none;
}
.tpul_logging_status.tpul_logging_status--off .tpul_csv_log_tools{
    display: none;
}

.btn_generate_report_msg{
    display: inline-block;
}

.advanced_log_table tr{
    border: 0 !important;
}
.advanced_log_table__label{
    min-width: 177px;
}

.settings-page-icon {
    background: #4624fa;
    border-radius: 8px;
    padding: 10px;
    color: white;
    margin-top: -9px;
    margin-right: 10px;
}

#terms_modal_content{
    min-width: 379px;
}

.tpul__alowed_box,
body.tpul-admin-page .lhl__alowed_box{
    display: block;
}

.settings-legend{
    margin: 20px 0;
    border: 1px solid rgba(0, 0, 0, 0.1) !important;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: rgba(0, 0, 0, 0.1);
    background: rgba(240, 240, 241, 0.5);
    padding: 20px 13px !important;
    display: block;
    border-bottom: none;
    border-radius: 5px;
}

.settings-legend li{
    margin-left: 13px;
}

/**
Admin banner
*/

.tpul_admin_header{
    padding: 30px 20px;
    border-radius: 5px;
    color: #333;
    margin-bottom: 8px;
    background: white;
    border: 1px solid #ddd;
    max-width: 1218px;
}
.tpul_admin_banner {
    display: flex;
    align-items: center;
}

.tpul_banner_icon {
    margin-right: 10px; /* Adjust the spacing as needed */
    max-width: 187px;
    height: auto;
}

.tpul_banner_title {
    margin: 0;
}

.tpul_admin_header h2{
    /* color: white; */
}
.tpul_banner_premium_cta{
    margin-top: 4px;
    font-size: 14px;
    padding-left: 40px;
}
.tpul_admin_header a{
    /* text-decoration: underline; */
    padding: 8px 12px;
    border-radius: 8px;
    background: #334aff;
    color: white;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    display: inline-block;
    margin-top: 6px;
    margin-left: 8px;
    margin-right: 8px;
}
.tpul_admin_header a:hover{
    background: #2833a3;
    color: white;
}

.tpul_admin_banner{

}

/**
 * TPUL Admin Page Specific Styles
 * These styles only apply to pages with the tpul-admin-page body class
 */
body.tpul-admin-page {
    /* Custom styles for TPUL admin pages only */
}

body.tpul-admin-page .wrap {
    /* Custom wrapper styles for TPUL admin pages */
}

body.tpul-admin-page .nav-tab-wrapper {
    /* Custom tab navigation styles for TPUL admin pages */
}

body.tpul-admin-page .nav-tab {
    margin: 6px 0px 0 6px;
    border: none;
    background: none;
    font-size: 15px;
    font-weight: 500;
    line-height: 20px;
    position: relative;
    text-align: center;
    cursor: pointer;
    display: inline-block;
}

body.tpul-admin-page .nav-tab{
    color: #0f1031 !important;
}
body.tpul-admin-page .nav-tab a {
    padding: 0 0 20px;
    display: block;
    text-decoration: none;
    color: #0f1031 !important;
}

body.tpul-admin-page .nav-tab a:hover {
    color: #334aff;
}

body.tpul-admin-page .nav-tab-active {
    border-bottom: 3px solid #334aff;
    color: #334aff;
}

body.tpul-admin-page .nav-tab-wrapper {
    border-bottom: 1px solid #e1e1e4;
    padding: 20px 14px 0 14px;
    margin: 0 auto;
    text-align: left;
    white-space: nowrap;
    overflow: auto;
}

body.tpul-admin-page .nav-tab:last-child {
    margin-right: 0;
}

body.tpul-admin-page .form-table {
    /* Custom form table styles for TPUL admin pages */
}

/**
 * Custom Button Styles for TPUL Admin Pages - Submit Buttons Only
 */
body.tpul-admin-page .submit .button:hover {
    border-color: #3730a3;
    background-color: #3730a3;
}

body.tpul-admin-page .submit a:active, 
body.tpul-admin-page .submit a:hover {
    outline: 0;
}

body.tpul-admin-page .submit .button {
    /* border: 2px solid #d1d5db; */
    background-color: #4f46e5;
    color: #ffffff;
    text-align: center;
    border-radius: 8px;
    padding: 8px 12px;
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    transition: all .4s;
}

body.tpul-admin-page .submit .button:focus {
    border-color: #3730a3;
    background-color: #3730a3;
    box-shadow: 0 0 0 2px rgba(79, 70, 229, 0.2);
    outline: none;
}

body.tpul-admin-page .submit .button:active {
    border-color: #1e1b4b;
    background-color: #1e1b4b;
    transform: translateY(1px);
}
body.tpul-admin-page .button.button-secondary,
body.tpul-admin-page .button-secondary,
body.tpul-admin-page .tpul_script_button {
    background-color: #27272a;
    border: 1.98047px solid #27272a;
    border-radius: 7.9219px;
    padding: 7.9219px 11.8828px;
    text-decoration: none;
    color: #fff;
    letter-spacing: .495119px;
    margin-top: 0;
    margin-bottom: 0;
    font-size: 14px;
    font-weight: 500;
    line-height: 23.77px;
}
body.tpul-admin-page .button.button-secondary:hover,
body.tpul-admin-page .button-secondary:hover,
body.tpul-admin-page .tpul_script_button:hover {
    background-color: #3f3f46;
    border-color: #3f3f46;
    color: #d1d5db;
}

body.tpul-admin-page .button.button-secondary:focus,
body.tpul-admin-page .button-secondary:focus,
body.tpul-admin-page .tpul_script_button:focus {
    background-color: #3f3f46;
    border-color: #3f3f46;
    color: #d1d5db;
    box-shadow: 0 0 0 2px rgba(39, 39, 42, 0.2);
    outline: none;
}

body.tpul-admin-page .button.button-secondary:active,
body.tpul-admin-page .button-secondary:active,
body.tpul-admin-page .tpul_script_button:active {
    background-color: #1a1a1c;
    border-color: #1a1a1c;
    color: #a1a1aa;
    transform: translateY(1px);
}

body.tpul-admin-page .tpul_script_button:hover {
    background-color: #3f3f46;
    border-color: #3f3f46;
    color: #d1d5db;
}

/**
 * License Key Input Field - Match button height
 */
body.tpul-admin-page input[name*="tplu_license_key"] {
    height: 42px;
    padding: 7.9219px 11.8828px;
    border-radius: 7.9219px;
    font-size: 14px;
    line-height: 23.77px;
    box-sizing: border-box;
}

body.tpul-admin-page input[name*="tplu_license_key"]:focus {
    border-color: #334aff;
    outline: none;
    box-shadow: 0 0 0 2px rgba(51, 74, 255, 0.2);
}

/**
 * AJAX Message Positioning - Display messages below buttons
 */
body.tpul-admin-page .tpul_activate_button_msg,
body.tpul-admin-page .tpul_deactivate_button_msg,
body.tpul-admin-page .btn_generate_report_msg,
body.tpul-admin-page .btn_generate_log_msg,
body.tpul-admin-page .tpul_log_button_msg,
body.tpul-admin-page .tpul_log_purge_btn_msg,
body.tpul-admin-page .tpul_reset_button_msg {
    display: block;
    margin-top: 8px;
    padding: 6px 12px;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
}

/* Hide messages when they have the hide class */
body.tpul-admin-page .tpul_activate_button_msg.hide,
body.tpul-admin-page .tpul_deactivate_button_msg.hide,
body.tpul-admin-page .btn_generate_report_msg.hide,
body.tpul-admin-page .btn_generate_log_msg.hide,
body.tpul-admin-page .tpul_log_button_msg.hide,
body.tpul-admin-page .tpul_log_purge_btn_msg.hide,
body.tpul-admin-page .tpul_reset_button_msg.hide {
    display: none;
}

/* Default message styling - success green by default */
body.tpul-admin-page .tpul_activate_button_msg:not(.hide),
body.tpul-admin-page .tpul_deactivate_button_msg:not(.hide),
body.tpul-admin-page .btn_generate_report_msg:not(.hide),
body.tpul-admin-page .btn_generate_log_msg:not(.hide),
body.tpul-admin-page .tpul_log_button_msg:not(.hide),
body.tpul-admin-page .tpul_log_purge_btn_msg:not(.hide),
body.tpul-admin-page .tpul_reset_button_msg:not(.hide) {
    background-color: #f0fdf4;
    border: 1px solid #bbf7d0;
    color: #15803d;
}

/* Error message styling - for messages with error class */
body.tpul-admin-page .tpul_activate_button_msg.msg-error,
body.tpul-admin-page .tpul_deactivate_button_msg.msg-error,
body.tpul-admin-page .btn_generate_report_msg.msg-error,
body.tpul-admin-page .btn_generate_log_msg.msg-error,
body.tpul-admin-page .tpul_log_button_msg.msg-error,
body.tpul-admin-page .tpul_log_purge_btn_msg.msg-error,
body.tpul-admin-page .tpul_reset_button_msg.msg-error {
    background-color: #fef2f2;
    border: 1px solid #fecaca;
    color: #dc2626;
}

/* Success message styling for explicit success classes */
body.tpul-admin-page .tpul_activate_button_msg.msg-success,
body.tpul-admin-page .tpul_deactivate_button_msg.msg-success,
body.tpul-admin-page .btn_generate_report_msg.msg-success,
body.tpul-admin-page .btn_generate_log_msg.msg-success {
    background-color: #f0fdf4;
    border: 1px solid #bbf7d0;
    color: #15803d;
}

/* Waiting/loading message styling */
body.tpul-admin-page .tpul_activate_button_msg.msg-waiting,
body.tpul-admin-page .tpul_deactivate_button_msg.msg-waiting,
body.tpul-admin-page .btn_generate_report_msg.msg-waiting,
body.tpul-admin-page .btn_generate_log_msg.msg-waiting {
    background-color: #fefce8;
    border: 1px solid #fde047;
    color: #ca8a04;
}


/* Theme styles moved to separate file: assets/css/terms-popup-themes.css */

/* ============================================
   TPUL THEME SELECTOR - VISUAL GRID
   ============================================ */

.tpul-theme-selector-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin: 20px 0;
    max-width: 900px;
}

.tpul-theme-option {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.tpul-theme-label {
    display: flex;
    flex-direction: column;
    align-items: center;
    cursor: pointer;
    position: relative;
    transition: all 0.3s ease;
}

.tpul-theme-label input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.tpul-theme-preview {
    width: 150px;
    height: 150px;
    border-radius: 12px;
    border: 3px solid #ffffff;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.tpul-theme-label:hover .tpul-theme-preview {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
}

.tpul-theme-label input[type="radio"]:checked + .tpul-theme-preview {
    border-color: #8b5cf6;
    box-shadow: 0 0 0 2px rgba(139, 92, 246, 0.2), 0 6px 20px rgba(0, 0, 0, 0.15);
}

.tpul-theme-name {
    margin-top: 12px;
    font-weight: 600;
    font-size: 14px;
    color: #333;
    text-align: center;
}

.tpul-theme-label input[type="radio"]:checked ~ .tpul-theme-name {
    color: #8b5cf6;
    font-weight: 700;
}

/* Theme Preview Boxes - Colorful Representations */
.tpul-theme-preview-default {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    position: relative;
}

.tpul-theme-preview-default::before {
    content: '';
    position: absolute;
    top: 20px;
    left: 20px;
    right: 20px;
    height: 30px;
    background: #6c757d;
    border-radius: 4px;
}

.tpul-theme-preview-default::after {
    content: '';
    position: absolute;
    top: 60px;
    left: 20px;
    right: 20px;
    height: 70px;
    background: #ffffff;
    border: 1px solid #dee2e6;
    border-radius: 4px;
}

.tpul-theme-preview-classic {
    background: linear-gradient(135deg, #007cba 0%, #005a87 100%);
    position: relative;
}

.tpul-theme-preview-classic::before {
    content: '';
    position: absolute;
    top: 20px;
    left: 20px;
    right: 20px;
    height: 30px;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 4px;
}

.tpul-theme-preview-classic::after {
    content: '';
    position: absolute;
    top: 60px;
    left: 20px;
    right: 20px;
    height: 70px;
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 4px;
}

.tpul-theme-preview-modern {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    position: relative;
}

.tpul-theme-preview-modern::before {
    content: '';
    position: absolute;
    top: 20px;
    left: 20px;
    right: 20px;
    height: 30px;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 8px;
}

.tpul-theme-preview-modern::after {
    content: '';
    position: absolute;
    top: 60px;
    left: 20px;
    right: 20px;
    height: 70px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
}

.tpul-theme-preview-corporate {
    background: linear-gradient(135deg, #3498db 0%, #2980b9 100%);
    position: relative;
}

.tpul-theme-preview-corporate::before {
    content: '';
    position: absolute;
    top: 20px;
    left: 20px;
    right: 20px;
    height: 30px;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 2px;
}

.tpul-theme-preview-corporate::after {
    content: '';
    position: absolute;
    top: 60px;
    left: 20px;
    right: 20px;
    height: 70px;
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 2px;
}

/* Responsive Design */
@media (max-width: 768px) {
    .tpul-theme-selector-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
    
    .tpul-theme-preview {
        width: 120px;
        height: 120px;
    }
}

@media (max-width: 480px) {
    .tpul-theme-selector-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    
    .tpul-theme-preview {
        width: 150px;
        height: 150px;
    }
}