/* WP Review Admin Styles */

/* Reviews page heading - match Comments panel */
.wrap h1 {
    font-size: 23px;
    font-weight: 400;
    margin: 0 0 10px 0;
}

/* Action buttons container */
.rvdk-action-buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    margin: 10px 0;
    clear: both;
}

.rvdk-buttons-left {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.rvdk-action-buttons .button {
    margin: 0;
}

.rvdk-search-box {
    display: flex;
    gap: 5px;
    align-items: center;
}

.rvdk-search-box input[type="search"] {
    width: 220px;
    max-width: 100%;
    padding: 4px 8px;
    height: 30px;
    box-sizing: border-box;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.07);
}

.rvdk-search-box input[type="search"]::placeholder {
    color: #a7aaad;
}

@media screen and (max-width: 782px) {
    .rvdk-action-buttons {
        flex-direction: column;
        align-items: stretch;
    }
    
    .rvdk-buttons-left {
        justify-content: flex-start;
    }
    
    .rvdk-search-box {
        width: 100%;
    }
    
    .rvdk-search-box input[type="search"] {
        flex: 1;
        width: auto;
    }
}

/* Table header styling - match Comments panel exactly */
.wp-list-table thead th {
    vertical-align: middle;
    padding: 8px 10px;
    line-height: 1.4em;
}

.wp-list-table thead th.check-column {
    padding: 8px 0 8px 3px;
    vertical-align: middle;
}

.wp-list-table .check-column {
    vertical-align: top;
    text-align: center;
}

/* Header checkbox - no margin-top */
.wp-list-table thead th.check-column input[type="checkbox"] {
    display: block;
    margin-left: 5px;
}

/* Body checkboxes - 4px from top */
.wp-list-table tbody td.check-column input[type="checkbox"],
.wp-list-table tbody th.check-column input[type="checkbox"] {
    display: block;
    margin-top: 4px;
    margin-left: 8px;
}

.wp-list-table tbody th.check-column {
    padding: 9px 0 22px;
}

/* Align all table cells to top for multi-line content */
.wp-list-table tbody td,
.wp-list-table tbody th {
    vertical-align: top;
    padding-top: 10px;
}

.wp-review-settings-wrap {
      max-width: 950px;
      margin: 30px 30px 0px 30px;
      padding: 30px;
      padding-bottom: 0;
      background: #fff;
      background-image: none;
      box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
      border-radius: 8px;
      background-image: linear-gradient(178deg,rgb(255, 255, 255) 0%, rgb(247, 247, 247) 90%, rgb(235, 235, 235) 100%);
      overflow: hidden;
  }
  
  .wp-review-settings-wrap h1 {
      color: #23282d;
      font-size: 24px;
      margin-bottom: 5px;
      margin-top: -15px;
  }
  
  .wp-review-settings-wrap .nav-tab-wrapper {
      border-bottom: 1px solid #ddd;
      margin-bottom: 25px;
      display: flex;
      flex-wrap: wrap;
      gap: 6px 0;
      row-gap: 6px;
  }
  
  .wp-review-settings-wrap .nav-tab {
      padding: 7px 12px 7px 12px;
      background: #f0f0f0;
      border: 1px solid #ddd;
      border-bottom-width: 1px;
      border-bottom-style: solid;
      border-bottom-color: rgb(221, 221, 221);
      border-bottom: none;
      margin-right: 8px;
      text-decoration: none;
      color: #555;
      border-radius: 4px 4px 0 0;
      transition: all 0.8s ease;
  }
  
  .wp-review-settings-wrap .nav-tab:hover {
      background: #f0f0f0;
  }
  
  .wp-review-settings-wrap .nav-tab-active {
      background: #fff;
      border-bottom: 1px solid #fff;
      color: #0073aa;
      margin-bottom: -1px;
  }
  
  .wp-review-settings-wrap h3 {
      font-size: 18px;
      color: #23282d;
      margin: 25px 0 15px;
      padding-bottom: 8px;
      border-bottom: 0px solid #eee;
  }
  
  .wp-review-settings-form .form-group {
      margin-bottom: -10px;
  }
  
  .wp-review-settings-form label {
      display: block;
      margin-bottom: 5px;
      font-weight: 600;
      color: #23282d;
      margin-top: 1%;
  }
  }
  
  .wp-review-settings-form input[type="text"],
  .wp-review-settings-form input[type="number"],
  .wp-review-settings-form input[type="email"],
  .wp-review-settings-form input[type="url"],
  .wp-review-settings-form select,
  .wp-review-settings-form textarea {
      width: 100%;
      max-width: 400px;
      border: 1px solid #8c8f94;
      border-radius: 4px;
      box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.07);
      background-color: #fff;
      color: #32373c;
      padding: 4px 10px;
      padding-top: 4px;
      padding-right: 10px;
      padding-bottom: 4px;
      padding-left: 10px;
  }
  
  .wp-review-settings-form input[type="checkbox"] {
      margin-right: 8px;
  }

  /* Edit Review Popup inputs */
  #edit-review-form input[type="text"],
  #edit-review-form input[type="email"],
  #edit-review-form input[type="tel"],
  #edit-review-form input[type="number"],
  #edit-review-form select,
  #edit-review-form textarea {
      border: 1px solid #8c8f94;
      border-radius: 4px;
      box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.07);
      padding: 4px 8px;
  }

  /* Import/Export Popup inputs */
  .rvdk-import-popup input[type="text"],
  .rvdk-import-popup input[type="file"],
  .rvdk-import-popup select,
  .rvdk-export-popup input[type="text"],
  .rvdk-export-popup select {
      border: 1px solid #8c8f94;
      border-radius: 4px;
      box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.07);
      padding: 4px 8px;
  }
  
  .wp-review-settings-form fieldset {
      border: 1px solid #ddd;
      padding: 15px;
      border-radius: 4px;
      margin-bottom: 15px;
      background: #f9f9f9;
  }
  
  .wp-review-settings-form legend {
      font-weight: 600;
      padding: 0 10px;
      color: #23282d;
  }
  
  .wp-review-settings-form .checkbox-group {
      margin-top: 0px;
      line-height: 12px;
  }
  
  .wp-review-settings-form .checkbox-group label {
      display: inline-block;
      margin-right: 15px;
      font-weight: normal;
  }
  
  .wp-review-settings-form .submit {
      margin: 20px -30px 0 -30px;
      padding: 15px 20px;
      background: #f1f1f1;
      border-top: 1px solid #c3c4c7;
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
      gap: 10px;
      border-radius: 0 0 8px 8px;
  }

  .wp-review-settings-form .submit .rvdk-submit-buttons {
      margin: 0;
      display: flex;
      align-items: center;
      gap: 10px;
  }

  .wp-review-settings-form .submit .rvdk-submit-buttons .button-primary {
      margin: 0;
  }

  .wp-review-settings-form .submit .rvdk-donation-text {
      color: #3c434a;
      font-size: 13px;
      margin: 0;
  }

  .wp-review-settings-form .submit .rvdk-donation-text .button {
      margin-left: 5px;
  }

  @media only screen and (max-width: 800px) {
      .wp-review-settings-form .submit {
          flex-direction: column;
          align-items: flex-start;
      }
      
      .wp-review-settings-form .submit .rvdk-donation-text {
          margin-top: 10px;
      }
  }

  @media screen and (max-width: 782px) {
      .wp-review-settings-form .submit .rvdk-submit-buttons a.button.button-secondary {
          padding: 0 10px;
          font-size: 13px;
          min-height: 30px;
          margin-bottom: 0;
          max-height: 30px;
          line-height: 28px;
      }
      
      .wp-review-settings-form .submit .rvdk-donation-text {
          display: none;
      }
  }

  .copy-button {
      background-color: #0073aa;
      color: #fff;
      border: none;
      padding: 8px 12px;
      border-radius: 4px;
      cursor: pointer;
      font-size: 14px;
      transition: background-color 0.3s ease;
}

.copy-button:hover {
      background-color: #005177;
}

.rvdk-tooltip {
    position: relative;
    display: inline-block;
 }
 
.rvdk-tooltip .tooltiptext {
    visibility: hidden;
    width: 160px;
    background-color: rgba(0, 0, 0, 0.67);
    color: #fff;
    text-align: left;
    font-family: 'Lato';
    font-size: 13px;
    line-height: 16px;
    border-radius: 3px;
    padding: 5px 0;
    position: absolute;
    z-index: 2;
    bottom: 0%;
    left: 70%;
    margin-left: 10px;
    padding: 8px 10px 10px 12px;
    height: fit-content;
 }
span.tooltiptext.tooltip-right {
     font-size: .9em;
     font-weight: 500;
 }
.tooltip-right {
     top: -58px;
     left: 119%;
 }
.tooltip-right::after {
     content: "";
     position: absolute;
     top: 50%;
     right: 100%;
     margin-top: -5px;
     border-width: 5px;
     border-style: solid;
     border-color: transparent #555 transparent transparent;
 }
.rvdk-tooltip:hover .tooltiptext {
   visibility: visible;
   opacity: 1;
 }

/* Hide all tooltips by default */
.rvdk-tooltip .tooltiptext {
   visibility: hidden;
   opacity: 0;
   pointer-events: none; /* Prevent invisible tooltips from blocking hover */
}

/* Only show tooltip when hovering over its specific parent */
.rvdk-tooltip-admin-email:hover .tooltiptext,
.rvdk-tooltip-customer-receipt:hover .tooltiptext,
.rvdk-tooltip-reviewer-email:hover .tooltiptext,
.rvdk-tooltip-comment-fill:hover .tooltiptext,
.rvdk-tooltip-star:hover .tooltiptext,
.rvdk-tooltip-reply-bar:hover .tooltiptext {
   visibility: visible !important;
   opacity: 1 !important;
   pointer-events: auto !important;
   z-index: 9999 !important;
}

/* Ensure checkbox sections have proper stacking context */
.checkbox-section {
   position: relative;
   z-index: 1;
}

.checkbox-section:hover {
   z-index: 10;
}

.help-icon {
     width: 18px;
     vertical-align: middle;
 }
span.tooltiptext.tooltip-right-msg {
     font-size: .9em;
     font-weight: 500;
 }
.tooltip-right-msg {
     top: 50%;
     transform: translateY(-50%);
     left: 132%;
 }
.tooltip-right-msg::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 100%;
    margin-top: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: transparent #555 transparent transparent;
 }

/* Tooltip positioned to the left (for elements near right edge) */
.rvdk-tooltip.tooltip-left .tooltiptext {
    left: auto;
    right: 28px;
}

.rvdk-tooltip.tooltip-left .tooltiptext::after {
    right: auto;
    left: 100%;
    border-color: transparent transparent transparent rgba(0, 0, 0, 0.67);
}

.rvdk-tooltip span.dashicons {
    font-size: 1.2em;
    vertical-align: middle;
    line-height: unset;
    margin-top: -1px;
 }
.rvdk-tooltip .dashicons-editor-help:before {
     color: #72777c;
     opacity: 1;
 }





/* <!-- Review Form Settings --> */

 rvdk-settings-fields-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
    gap: 16px;
    margin-top: 20px;
}

.rvdk-settings-field-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    background: #fff;
    padding: 8px 16px;
    border-radius: 8px;
    margin-bottom: 10px;
}

.rvdk-settings-field-row > div:first-child {
    margin-bottom: 0;
}

.rvdk-settings-field-input {
    flex: 1;
    padding: 8px 12px;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    font-size: 14px;
    min-width: 120px;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.07);
}

.rvdk-settings-field-input:focus {
    border-color: #4d90fe;
    outline: none;
    box-shadow: 0 0 0 2px rgba(77, 144, 254, 0.2);
}

.rvdk-settings-field-options {
    display: flex;
    gap: 12px;
    flex-shrink: 0;
}

.rvdk-settings-option {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #555;
    white-space: nowrap;
}

.rvdk-settings-option input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: #4d90fe;
    margin: 0;
}

/* Shortcode section styling */
.shortcode-section {
    margin-bottom: 15px;
    padding-left: 10px;
}

.shortcode-section > label {
    display: block;
    margin-bottom: 5px;
    font-weight: 600;
    font-size: 13px;
    color: #23282d;
}

.shortcode-section label.checkbox-label {
    font-weight: 600;
}

.shortcode-section label input[type="checkbox"] {
    margin-right: 8px;
    vertical-align: middle;
}

.shortcode-section input[type="text"],
.shortcode-section input[type="number"],
.shortcode-section input[type="tel"],
.shortcode-section input[type="url"],
.shortcode-section select {
    width: 100%;
    max-width: 500px;
    padding: 4px 12px;
    border: 1px solid #8c8f94;
    border-radius: 4px;
    background: #fff;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.07);
}

.shortcode-section input[readonly] {
    background: #fff;
}

.shortcode-section > span[style] select {
    width: auto;
    max-width: none;
}

.wp-review-settings-form .shortcode-section > span select {
    width: auto;
    max-width: none;
}

.shortcode-section > span label {
    font-weight: 400;
    font-family: 'Arial Narrow', Arial, sans-serif;
    font-size: 12px;
}

/* Settings panel checkbox styling */
.wp-review-settings-form .checkbox-section,
.checkbox-section {
    margin-bottom: 8px !important;
    padding-left: 25px;
}

.checkbox-section label.checkbox-label {
    font-weight: 600;
}

.checkbox-section label input[type="checkbox"] {
    margin-right: 8px;
    vertical-align: middle;
}

/* WooCommerce settings - match checkbox spacing to General Settings */
.shortcode-section:has(> label.checkbox-label > input[type="checkbox"]) {
    margin-bottom: 8px;
    padding-left: 25px;
}

/* Only checkbox clickable, not label text */
.checkbox-section label.checkbox-label,
.shortcode-section label.checkbox-label,
.wp-review-settings-form label.checkbox-label {
    pointer-events: none !important;
}

.checkbox-section label.checkbox-label input[type="checkbox"],
.shortcode-section label.checkbox-label input[type="checkbox"],
.wp-review-settings-form label.checkbox-label input[type="checkbox"],
.checkbox-section label.checkbox-label .rvdk-tooltip,
.shortcode-section label.checkbox-label .rvdk-tooltip,
.wp-review-settings-form label.checkbox-label .rvdk-tooltip {
    pointer-events: auto !important;
}

/* Spam Log Box styling */
.rvdk-spam-log-box {
    border: 1px solid #8c8f94;
    border-radius: 4px;
    padding: 8px 10px 8px 14px;
    margin-top: 10px;
    background: transparent;
    width: fit-content;
    margin-left: 11px;
}

.tablenav-pages .pagination-links a:hover {
    background: #0073aa;
    color: #fff;
    border-radius: 3px;
}

.tablenav-pages .pagination-links .current {
    font-weight: bold;
    color: #0073aa;
}

/* Disabled tab styling for WooCommerce when not installed */
.nav-tab-disabled {
    opacity: 0.5;
    cursor: not-allowed;
    color: #a0a5aa !important;
}

.nav-tab-disabled:hover {
    background-color: transparent !important;
    border-color: #ccd0d4 !important;
}

/* Advanced Settings Panel Specific Styles */
#tab-advanced .advanced-email-input {
    width: 100%;
    max-width: 475px;
    padding: 4px 12px;
    border: 1px solid #8c8f94;
    border-radius: 4px;
}

#tab-advanced .advanced-delete-section {
    margin-left: 10px;
}

#tab-advanced .advanced-warning-text {
    margin-left: 10px;
}

#tab-advanced .advanced-recaptcha-heading {
    font-size: 16px;
    font-weight: 600;
    margin-top: 5px;
    margin-bottom: 10px;
    color: #23282d;
}

#tab-advanced .advanced-recaptcha-desc {
    margin-left: 10px;
}

#tab-advanced .advanced-threshold-input {
    width: 100%;
    max-width: 100px;
    padding: 4px 12px;
    border: 1px solid #8c8f94;
    border-radius: 4px;
}

/* Badges Tab - Admin Preview Grid */
.rvdk-badges-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 20px;
    margin-top: 20px;
}

.rvdk-badge-preview-item {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    padding: 12px;
    grid-column: span 2;  /* Default: each item takes 2 columns (3 per row) */
}

.rvdk-badge-preview-item.rvdk-wide-badge {
    grid-column: span 3;  /* Wide badges take 3 columns (2 per row) */
}

.rvdk-badge-preview-item.rvdk-full-width {
    grid-column: 1 / -1;  /* Full width badges span all columns */
}

.rvdk-badge-preview-item h4 {
    margin: 0 0 8px 0;
    font-size: 13px;
    font-weight: 600;
    color: #23282d;
}

.rvdk-badge-preview {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 8px;
}

.rvdk-badge-shortcode {
    display: flex;
    gap: 8px;
}

.rvdk-badge-shortcode input[type="text"]:not(.wp-color-picker) {
    flex: 1;
    padding: 5px 8px;
    font-family: monospace;
    font-size: 11px;
    border: 1px solid #8c8f94;
    border-radius: 3px;
    background: #fff;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.07);
}

.rvdk-badge-shortcode input.wp-color-picker {
    width: 100px !important;
    flex: none;
}

.rvdk-badge-shortcode .button {
    padding: 0 5px;
    font-size: 11px;
}

/* Center controls on narrow badge */
.rvdk-full-width .rvdk-badge-shortcode {
    justify-content: center;
}

/* Responsive Badge Styles for Mobile Admin Panel */
@media (max-width: 768px) {
    /* Review Form Fields - stack columns on mobile */
    #tab-review_form > div[style*="display: flex"] > div {
        flex: 1 1 100% !important;
        min-width: 100% !important;
    }
    
    /* Badge grid responsive */
    .rvdk-badges-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    
    .rvdk-badge-preview-item {
        grid-column: span 1 !important;
    }
    
    .rvdk-badge-preview-item.rvdk-wide-badge {
        grid-column: span 1 !important;
    }
    
    /* Small badges */
    .rvdk-badge-small {
        padding: 12px 15px;
    }
    
    .rvdk-badge-small .rvdk-badge-store-name {
        font-size: 13px;
    }
    
    .rvdk-badge-small .rvdk-badge-rating {
        font-size: 15px;
    }
    
    .rvdk-badge-small .rvdk-badge-reviews {
        font-size: 10px;
    }
    
    /* Wide badges */
    .rvdk-badge-wide {
        padding: 15px 20px;
        gap: 15px;
    }
    
    .rvdk-badge-wide .rvdk-badge-store-name {
        font-size: 15px;
    }
    
    .rvdk-badge-wide .rvdk-badge-rating {
        font-size: 16px;
    }
    
    .rvdk-badge-wide .rvdk-badge-reviews {
        font-size: 11px;
    }
    
    /* Compact badges */
    .rvdk-badge-compact {
        padding: 8px 12px;
        gap: 8px;
    }
    
    .rvdk-badge-compact .rvdk-badge-rating {
        font-size: 15px;
    }
    
    .rvdk-badge-compact .rvdk-badge-reviews {
        font-size: 10px;
    }
    
    /* Tall badges */
    .rvdk-badge-tall {
        padding: 20px 15px;
    }
    
    .rvdk-badge-tall .rvdk-badge-icon svg {
        width: 50px;
        height: 50px;
    }
    
    .rvdk-badge-tall .rvdk-badge-store-name {
        font-size: 15px;
    }
    
    .rvdk-badge-tall .rvdk-badge-rating-large {
        font-size: 32px;
    }
    
    .rvdk-badge-tall .rvdk-badge-reviews {
        font-size: 11px;
    }
    
    /* Narrow badges */
    .rvdk-badge-narrow {
        padding: 10px 12px;
        gap: 10px;
        flex-wrap: wrap;
    }
    
    .rvdk-badge-narrow .rvdk-badge-store-name {
        font-size: 14px;
    }
    
    .rvdk-badge-narrow .rvdk-badge-rating {
        font-size: 15px;
    }
    
    .rvdk-badge-narrow .rvdk-badge-reviews {
        font-size: 11px;
    }
}

@media (max-width: 480px) {
    /* Extra small screens - even more compact */
    .rvdk-badge-small {
        padding: 10px 12px;
    }
    
    .rvdk-badge-small .rvdk-badge-store-name {
        font-size: 12px;
    }
    
    .rvdk-badge-wide {
        padding: 12px 15px;
        gap: 12px;
    }
    
    .rvdk-badge-wide .rvdk-badge-icon svg {
        width: 35px;
        height: 35px;
    }
    
    .rvdk-badge-wide .rvdk-badge-store-name {
        font-size: 14px;
    }
    
    .rvdk-badge-wide .rvdk-badge-rating {
        font-size: 14px;
    }
    
    .rvdk-badge-compact {
        padding: 6px 10px;
        gap: 6px;
    }
    
    .rvdk-badge-compact .rvdk-badge-rating {
        font-size: 14px;
    }
    
    .rvdk-badge-tall {
        padding: 15px 12px;
    }
    
    .rvdk-badge-tall .rvdk-badge-icon svg {
        width: 40px;
        height: 40px;
    }
    
    .rvdk-badge-tall .rvdk-badge-store-name {
        font-size: 14px;
    }
    
    .rvdk-badge-tall .rvdk-badge-rating-large {
        font-size: 28px;
    }
    
    .rvdk-badge-narrow {
        padding: 8px 10px;
        gap: 8px;
    }
    
    .rvdk-badge-narrow .rvdk-badge-store-name {
        font-size: 13px;
    }
}

/* WordPress standard pagination styles - exact specifications */
.tablenav .tablenav-pages .button, 
.tablenav .tablenav-pages .tablenav-pages-navspan {
    display: inline-block;
    vertical-align: baseline;
    min-width: 30px;
    min-height: 30px;
    margin: 0;
    padding: 0 4px;
    font-size: 16px;
    line-height: 1.625;
    text-align: center;
}

/* wpColorPicker overlay - prevent page content shift */
.wp-picker-holder {
    position: absolute !important;
    z-index: 100000 !important;
}

/* Keep color picker inline without stretching other elements */
.rvdk-badge-shortcode .wp-picker-container {
    display: inline-block;
    vertical-align: middle;
    margin-left: 0px;
}

/* Hide the Default button */
.rvdk-badge-shortcode .wp-picker-default {
    display: none !important;
}

/* Hide Default button from general settings too */
.shortcode-section .wp-picker-default {
    display: none !important;
}

/* Hide the Clear button on narrow badge */
.rvdk-badge-shortcode .wp-picker-clear {
    display: none !important;
}

/* Set hex color input width to 60px for badge shortcodes */
.rvdk-badge-shortcode input.wp-color-picker {
    width: 60px !important;
    flex: none;
}

/* Set hex color input width to 60px for general settings */
.shortcode-section input.wp-color-picker-field {
    width: 60px !important;
}

.wp-core-ui .button, 
.wp-core-ui .button-secondary {
    color: #2271b1;
    border-color: #2271b1;
    background: #f6f7f7;
    vertical-align: top;
}

.wp-core-ui .button, 
.wp-core-ui .button-primary, 
.wp-core-ui .button-secondary {
    display: inline-block;
    text-decoration: none;
    font-size: 13px;
    line-height: 2.15384615;
    min-height: 30px;
    margin: 0;
    padding: 0 10px;
    cursor: pointer;
    border-width: 1px;
    border-style: solid;
    -webkit-appearance: none;
    border-radius: 3px;
    white-space: nowrap;
    box-sizing: border-box;
}

/* Restore WordPress default button-small sizing */
.wp-core-ui .button-group.button-small .button,
.wp-core-ui .button.button-small {
    min-height: 26px;
    line-height: 2.18181818;
    padding: 0 5px;
    font-size: 11px;
}

.tablenav-pages .pagination-links .button, 
.tablenav-pages .pagination-links a.button, 
.tablenav-pages .pagination-links span.button {
    display: inline-block;
    min-width: 30px;
    min-height: 30px;
    line-height: 28px;
    padding: 0;
    text-align: center;
    vertical-align: middle;
    margin: 0 2px;
    font-size: 16px;
    box-sizing: border-box;
}

.tablenav-pages .pagination-links .button, 
.tablenav-pages .pagination-links a.button, 
.tablenav-pages .pagination-links span.button {
    display: inline-block;
    min-width: 30px;
    min-height: 30px;
    line-height: 28px;
    padding: 0;
    text-align: center;
    vertical-align: middle;
    margin: 0 2px;
    font-size: 16px;
    box-sizing: border-box;
}

.tablenav-pages .pagination-links .button.disabled {
    color: #a7aaad;
    cursor: default;
    background: transparent;
    border-color: #dcdcde;
}

.tablenav-pages .paging-input {
    display: inline-block;
    vertical-align: middle;
    margin: 0 2px;
}

.tablenav-pages .paging-input .current-page {
    width: 30px;
    height: 30px;
    line-height: 28px;
    padding: 0;
    text-align: center;
    font-size: 13px;
    vertical-align: middle;
    margin: 0;
}

.tablenav-pages .tablenav-paging-text {
    display: inline-block;
    vertical-align: middle;
    margin: 0 2px;
    font-size: 13px;
    line-height: 30px;
}


/* Admin table gravatar */
.rvdk-admin-gravatar {
    border-radius: 50%;
    vertical-align: middle;
}

.col-date {
    width: 80px;
    max-width: 80px;
    text-align: left;
}
.col-gravatar {
    width: 55px;
    max-width: 55px;
    text-align: center;
}
.col-source {
    width: 45px;
    max-width: 45px;
    text-align: center;
}
.rvdk-source-icon {
    display: inline-block;
    vertical-align: middle;
}
.rvdk-source-empty {
    display: inline-block;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background-color: #ddd;
    vertical-align: middle;
}
.col-rating {
    width: 55px;
    max-width: 55px;
    text-align: left;
}
.col-likes {
    width: 35px;
    max-width: 35px;
    text-align: center;
}
.col-status {
    width: 65px;
    max-width: 65px;
    text-align: left;
}

/* ========================================
   Analytics Panel Styles
   ======================================== */

.rvdk-analytics-container {
    padding: 20px 0;
}

/* Two Column Analytics Layout */
.rvdk-analytics-layout {
    display: flex;
    gap: 24px;
}

.rvdk-analytics-left {
    flex: 3;
    flex-grow: 3;
    flex-shrink: 1;
    flex-basis: 0%;
    display: flex;
    flex-direction: column;
    gap: 20px;
    min-width: 0;
}

.rvdk-analytics-right {
    flex: 1.2;
    display: flex;
    flex-direction: column;
    gap: 20px;
    min-width: 320px;
    width: 100%;
}

.rvdk-chart-panel {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    padding: 24px;
    border: 1px solid #e0e0e0;
    box-sizing: border-box;
    width: 100%;
    overflow: visible;
}

.rvdk-chart-panel h3 {
    margin: 0 0 10px 0;
    font-size: 16px;
    font-weight: 600;
    color: #1d2327;
}

.rvdk-line-chart-panel {
    flex: none;
}

.rvdk-doughnut-chart-panel {
    flex: none;
}

.rvdk-sources-chart-panel {
    flex: 1;
    display: flex;
    flex-direction: column;
    width: 100%;
    overflow: visible;
}

.rvdk-sources-chart-panel h3 {
    flex-shrink: 0;
}

.rvdk-chart-wrapper {
    position: relative;
    height: 300px;
}

.rvdk-doughnut-wrapper {
    height: 200px;
}

.rvdk-sources-wrapper {
    height: 180px;
    width: 100%;
    flex: 1;
    box-sizing: border-box;
    overflow: visible;
}

.rvdk-sources-wrapper canvas {
    width: 100% !important;
    max-width: 100%;
}

/* Custom Doughnut Legend - 2 rows */
.rvdk-doughnut-legend {
    margin-top: 12px;
    text-align: center;
}

.rvdk-legend-row {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-bottom: 6px;
}

.rvdk-legend-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    color: #1d2327;
}

.rvdk-legend-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    display: inline-block;
}

/* Stats Boxes Grid - 4 columns, 2 rows */
.rvdk-analytics-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}

.rvdk-stat-box {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    padding: 16px 17px;
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid #e0e0e0;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    min-width: 0;
}

.rvdk-stat-box:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

.rvdk-stat-icon {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.rvdk-stat-icon .dashicons {
    font-size: 20px;
    width: 20px;
    height: 20px;
    color: #fff;
}

.rvdk-stat-content {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.rvdk-stat-number {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
    color: #1d2327;
}

.rvdk-stat-label {
    font-size: 10px;
    color: #646970;
    text-transform: uppercase;
    letter-spacing: 0.2px;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Stat Box Colors */
.rvdk-stat-total .rvdk-stat-icon {
    background: linear-gradient(135deg, #2271b1 0%, #135e96 100%);
}

.rvdk-stat-approved .rvdk-stat-icon {
    background: linear-gradient(135deg, #00a32a 0%, #008a20 100%);
}

.rvdk-stat-pending .rvdk-stat-icon {
    background: linear-gradient(135deg, #dba617 0%, #c59212 100%);
}

.rvdk-stat-rejected .rvdk-stat-icon {
    background: linear-gradient(135deg, #d63638 0%, #b32d2e 100%);
}

.rvdk-stat-submissions .rvdk-stat-icon {
    background: linear-gradient(135deg, #9b59b6 0%, #8e44ad 100%);
}

.rvdk-stat-spam .rvdk-stat-icon {
    background: linear-gradient(135deg, #95a5a6 0%, #7f8c8d 100%);
}

.rvdk-stat-responded .rvdk-stat-icon {
    background: linear-gradient(135deg, #3498db 0%, #2980b9 100%);
}

.rvdk-stat-likes .rvdk-stat-icon {
    background: linear-gradient(135deg, #1abc9c 0%, #16a085 100%);
}

/* Chart Header with Date Range */
.rvdk-chart-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 20px;
}

.rvdk-chart-header h3 {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: #1d2327;
}

.rvdk-date-range {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.rvdk-date-range label {
    font-size: 13px;
    color: #646970;
    font-weight: 500;
}

.rvdk-date-range input[type="date"] {
    padding: 4px 8px;
    border: 1px solid #8c8f94;
    border-radius: 4px;
    font-size: 13px;
    background: #fff;
    color: #1d2327;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.07);
}

.rvdk-date-range input[type="date"]:focus {
    border-color: #2271b1;
    box-shadow: 0 0 0 1px #2271b1;
    outline: none;
}

.rvdk-date-range .button-link {
    color: #646970;
    text-decoration: none;
}

.rvdk-date-range .button-link:hover {
    color: #2271b1;
}

/* Responsive Adjustments */
@media screen and (max-width: 1200px) {
    .rvdk-analytics-layout {
        flex-direction: column;
    }
    
    .rvdk-analytics-right {
        flex-direction: row;
        width: 100%;
    }
    
    .rvdk-doughnut-chart-panel,
    .rvdk-sources-chart-panel {
        flex: 1;
        width: 100%;
    }
}

@media screen and (max-width: 900px) {
    .rvdk-analytics-right {
        flex-direction: column;
        min-width: 0;
    }
    
    .rvdk-doughnut-chart-panel {
        max-width: none;
    }
    
    .rvdk-sources-chart-panel {
        width: 100%;
    }
}

@media screen and (max-width: 782px) {
    .rvdk-analytics-stats {
        grid-template-columns: repeat(4, 1fr);
    }
    
    .rvdk-stat-box {
        padding: 12px 8px;
    }
    
    .rvdk-stat-number {
        font-size: 20px;
    }
    
    .rvdk-stat-icon {
        width: 36px;
        height: 36px;
    }
    
    .rvdk-stat-icon .dashicons {
        font-size: 18px;
        width: 18px;
        height: 18px;
    }
    
    .rvdk-chart-header {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .rvdk-date-range {
        width: 100%;
    }
}

@media screen and (max-width: 500px) {
    .rvdk-analytics-stats {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Custom Source Dropdown with Icons */
.rvdk-source-dropdown {
    position: relative;
    width: 100%;
    font-size: 14px;
}

.rvdk-source-selected {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 10px;
    background: #fff;
    border: 1px solid #8c8f94;
    border-radius: 4px;
    cursor: pointer;
    min-height: 30px;
}

.rvdk-source-selected:hover {
    border-color: #2271b1;
}

.rvdk-source-selected .rvdk-source-icon {
    width: 15px;
    height: 15px;
    border-radius: 50%;
    margin-right: 8px;
    flex-shrink: 0;
}

.rvdk-source-selected .rvdk-source-text {
    flex-grow: 1;
}

.rvdk-source-arrow {
    font-size: 10px;
    color: #666;
    margin-left: 8px;
}

.rvdk-source-options {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #8c8f94;
    border-top: none;
    border-radius: 0 0 4px 4px;
    max-height: 400px;
    overflow-y: auto;
    z-index: 1000;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.rvdk-source-options.open {
    display: block;
}

.rvdk-source-option {
    display: flex;
    align-items: center;
    padding: 4px 10px;
    cursor: pointer;
}

.rvdk-source-option:hover {
    background: #f0f0f1;
}

.rvdk-source-option.selected {
    background: #2271b1;
    color: #fff;
}

.rvdk-source-option .rvdk-source-icon {
    width: 15px;
    height: 15px;
    border-radius: 50%;
    margin-right: 8px;
    flex-shrink: 0;
}

/* ============================================
   TOAST NOTIFICATIONS
   ============================================ */

.rvdk-toast {
    position: fixed;
    top: 50px;
    right: 50px;
    min-width: 200px;
    max-width: 765px;
    background: #caf2d7;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    padding: 16px 20px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    z-index: 999999;
    opacity: 0;
    visibility: hidden;
    transform: translateX(100%);
    transition: all 0.3s ease;
    border: 1px solid #0a7934;
    overflow: hidden;
}

.rvdk-toast.show {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}

.rvdk-toast-icon {
    width: 24px;
    height: 24px;
    background: #0a7934;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #fff;
}

.rvdk-toast-icon svg {
    width: 14px;
    height: 14px;
}

.rvdk-toast-content {
    flex: 1;
}

.rvdk-toast-title {
    font-weight: 600;
    font-size: 15px;
    color: #0a7934;
    margin-bottom: 2px;
}

.rvdk-toast-message {
    font-size: 14px;
    color: #374151;
}

.rvdk-toast-close {
    background: none;
    border: none;
    font-size: 20px;
    color: #0a7934;
    cursor: pointer;
    padding: 0;
    line-height: 1;
    flex-shrink: 0;
}

.rvdk-toast-close:hover {
    color: #065f27;
}

.rvdk-toast-progress {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 3px;
    background: #0a7934;
    width: 0%;
    transform-origin: left;
    animation: none;
}

.rvdk-toast.show .rvdk-toast-progress {
    animation: ctToastProgress 1.5s linear forwards;
}

/* Icon visibility - show success by default, error when .toast-error class */
.rvdk-toast .rvdk-toast-icon .icon-error {
    display: none;
}

.rvdk-toast .rvdk-toast-icon .icon-success {
    display: block;
}

.rvdk-toast.toast-error .rvdk-toast-icon .icon-success {
    display: none;
}

.rvdk-toast.toast-error .rvdk-toast-icon .icon-error {
    display: block;
}

/* Error toast - same structure as base toast, just red colors */
.rvdk-toast.toast-error {
    background: #f8d7da;
    border: 1px solid #d63638;
}

.rvdk-toast.toast-error .rvdk-toast-icon {
    background: #d63638;
}

.rvdk-toast.toast-error .rvdk-toast-title {
    color: #d63638;
}

.rvdk-toast.toast-error .rvdk-toast-close {
    color: #d63638;
}

.rvdk-toast.toast-error .rvdk-toast-close:hover {
    color: #a02a2a;
}

.rvdk-toast.toast-error .rvdk-toast-progress {
    background: #d63638;
}

@keyframes ctToastProgress {
    from {
        width: 0%;
    }
    to {
        width: 100%;
    }
}

/* ============================================
   FIRST-TIME INSTALLATION ALERT
   ============================================ */

#rvdk-advanced-notice {
    display: flex;
    align-items: flex-start;
    padding: 15px 18px;
    margin-top: 0;
    margin-bottom: 20px;
    margin-left: 10px;
    border-radius: 8px;
    font-size: 14px;
    line-height: 1.5;
    max-width: 600px;
    box-sizing: border-box;
    background: #fef8e7;
    color: #6d5c0f;
}

#rvdk-advanced-notice .rvdk-alert-icon {
    flex-shrink: 0;
    font-size: 20px;
    width: 20px;
    height: 20px;
    margin-right: 12px;
    line-height: 1;
    color: #b8860b;
}

#rvdk-advanced-notice .rvdk-alert-content {
    flex: 1;
}

/* Settings Panel Banner Notices */
.rvdk-settings-notice {
    display: flex;
    align-items: flex-start;
    padding: 12px 16px;
    margin-top: 15px;
    margin-bottom: 10px;
    margin-left: 10px;
    border-radius: 8px;
    font-size: 14px;
    line-height: 1.5;
    max-width: 765px;
    box-sizing: border-box;
    background: #fef8e7;
    color: #6d5c0f;
}

.rvdk-settings-notice .rvdk-notice-icon {
    flex-shrink: 0;
    font-size: 18px;
    width: 18px;
    height: 18px;
    margin-right: 10px;
    line-height: 1;
    color: #b8860b;
}

.rvdk-settings-notice .rvdk-notice-content {
    flex: 1;
}

.rvdk-settings-notice .rvdk-notice-content strong {
    color: #8b6914;
}

/* Review Editor Popup Overlay */
.rvdk-popup-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.3);
    z-index: 999;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease, visibility 0.4s ease;
}

.rvdk-popup-overlay.active {
    opacity: 1;
    visibility: visible;
}
