/* Theme components are enqueued via functions.php - no @import needed */

/* SOA Dashboard Styles */
.dashboard {padding-top:var(--wp--preset--spacing--medium);padding-bottom:var(--wp--preset--spacing--medium);background-color: var(--wp--preset--color--quaternary);}

.soa-cpd-table {
    width: 100%;
    border-collapse: collapse;
    background-color: var(--wp--preset--color--white);
    border-radius: var(--wp--custom--border--radius--small);
    padding: var(--wp--preset--spacing--small);
    margin: var(--soa-spacing-md) 0;
    box-shadow: var(--wp--preset--shadow--subtle);
    overflow: hidden;
  }
  
  .soa-cpd-table thead tr {
      height: 50px;
      background: var(--wp--preset--color--tertiary);
      display: flex;
      justify-content: space-between;
      align-items: center;
  }

.soa-cpd-table tbody tr {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

td.soa-cpd-actions {
    display: inline-flex;
    flex-wrap: wrap;
    min-width: 150px;
    align-items: center;
    justify-content: center;
    gap: 5px;
    text-align: center;
}
  
  .soa-cpd-table .cpd-actions {
    white-space: nowrap; /* Prevent wrapping */
  }
  
  .soa-cpd-table td,.soa-cpd-table th {
  flex: 1;
  }
  .soa-cpd-table tr:nth-child(even) {background: #eac2681a;}
  
  .soa-cpd-table td {
    padding: 10px;
  }

  .soa-cpd-form {
      max-width: 600px;
      margin: 0 auto;
      background: var(--wp--preset--color--white);
      padding: var(--wp--preset--spacing--large);
      border-radius: var(--wp--custom--border--radius--medium);
      box-shadow: var(--wp--preset--shadow--subtle);
  }
  

  /* Form styles inherit from components.css - dashboard-specific overrides only */
  
  .form-actions {
      margin-top: var(--wp--preset--spacing--medium);
      display: flex;
      gap: 10px;
      justify-content: center;
      align-items: center;
  }
  
  #loading-overlay {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.5);
      z-index: 9999;
      display: none;
      align-items: center;
      justify-content: center;
  }
  
  #loading-overlay > div {
      background: var(--wp--preset--color--white);
      padding: var(--wp--preset--spacing--large);
      border-radius: var(--wp--custom--border--radius--medium);
      text-align: center;
      box-shadow: var(--wp--preset--shadow--normal);
  }
  
  #loading-overlay .spinner {
      width: 30px;
      height: 30px;
      border: 3px solid var(--wp--preset--color--quaternary);
      border-top: 3px solid var(--wp--preset--color--primary);
      border-radius: 50%;
      animation: spin 1s linear infinite;
      margin: 0 auto;
  }
  
  @keyframes spin {
      0% { transform: rotate(0deg); }
      100% { transform: rotate(360deg); }
  }
  
  #form-message {
      margin-top: 20px;
  }
  
  #form-message .success {
      background-color: rgba(40, 167, 69, 0.1);
      color: var(--wp--preset--color--secondary);
      padding: var(--wp--preset--spacing--small);
      border-radius: var(--wp--custom--border--radius--small);
      border: 1px solid var(--wp--preset--color--secondary);
  }
  
  #form-message .error {
      background-color: rgba(220, 53, 69, 0.1);
      color: #dc3545;
      padding: var(--wp--preset--spacing--small);
      border-radius: var(--wp--custom--border--radius--small);
      border: 1px solid #dc3545;
  }
  
  /* Dashboard Overview */
  .soa-dashboard-overview {
      max-width: 800px;
      margin: 0 auto;
      text-align: center;
      padding: 40px 20px;
  }

  /* Dashboard Header Layout */
  .dashboard-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 20px;
      flex-wrap: wrap;
      gap: 20px;
  }

  .dashboard-header h1 {
      margin: 0;
      flex: 1;
      min-width: 200px;
  }

  .certificate-download-btn {
      background: var(--wp--preset--color--primary);
  }
  
  .soa-dashboard-overview h1 {
      color: var(--wp--custom--color--neutral--900);
      margin-bottom: var(--wp--preset--spacing--medium);
      font-size: 2.5em;
      font-weight: 600;
  }
  
  .soa-dashboard-overview p {
      font-size: 1.2em;
      color: var(--soa-text-light);
      margin-bottom: var(--wp--preset--spacing--x-large);
      line-height: 1.6;
  }
  
  .tile {
      background: var(--wp--preset--color--white);
      padding: var(--wp--preset--spacing--medium);
      border: 1px solid var(--wp--custom--color--neutral--300);
      border-radius: var(--wp--custom--border--radius--small);
      text-decoration: none;
      color: var(--wp--preset--color--black);
      transition: box-shadow 0.3s;
  }
  .tile:hover {
      box-shadow: var(--wp--preset--shadow--natural);
  }
  
  .dashboard-actions {
      display: flex;
      gap: 20px;
      justify-content: center;
      flex-wrap: wrap;
  }
  
  .dashboard-actions .button {
      padding: 15px 30px;
      font-size: 16px;
      font-weight: 600;
      min-width: 200px;
  }
  
  .account-actions {
      margin-top: 30px;
      text-align: center;
  }
  
  /* Form Navigation */
  .form-navigation {
      margin-top: 30px;
      text-align: center;
      padding-top: 20px;
      border-top: 1px solid #e1e1e1;
  }
  
  /* Form Notice */
  .form-notice {
      margin: var(--wp--preset--spacing--medium) 0;
      padding: var(--wp--preset--spacing--small);
      background-color: rgba(255, 193, 7, 0.1);
      border: 1px solid var(--wp--preset--color--tertiary);
      border-radius: var(--wp--custom--border--radius--small);
      color: var(--wp--preset--color--tertiary);
  }
  
  .form-notice p {
      margin: 0;
      font-size: 0.9em;
      line-height: 1.4;
  }
  
  /* Form Validation Styles - extends components.css */
  .form-group input.error,
  .form-group textarea.error,
  .form-group select.error {
      border-color: #dc3545;
      box-shadow: 0 0 0 2px rgba(220, 53, 69, 0.2);
  }
  
  .field-error,
  .url-error,
  .date-error,
  .password-match-error,
  .email-match-error {
      color: #dc3545;
      font-size: var(--wp--preset--font-size--tiny);
      margin-top: var(--wp--preset--spacing--tiny);
      display: block;
  }
  
  /* Password Strength Indicator */
  .password-strength-indicator {
      margin-top: 5px;
  }
  
  .password-strength-indicator span {
      padding: 4px 8px;
      border-radius: 3px;
      font-size: 0.85em;
      font-weight: 500;
  }
  
  .strength-weak {
      background-color: rgba(220, 53, 69, 0.1);
      color: #dc3545;
      border: 1px solid #dc3545;
  }
  
  .strength-medium {
      background-color: rgba(255, 193, 7, 0.1);
      color: var(--wp--preset--color--tertiary);
      border: 1px solid var(--wp--preset--color--tertiary);
  }
  
  .strength-strong {
      background-color: rgba(40, 167, 69, 0.1);
      color: var(--wp--preset--color--secondary);
      border: 1px solid var(--wp--preset--color--secondary);
  }
  
  /* Form label styles inherit from components.css */
  
  /* Responsive Design */
  @media (max-width: 768px) {
      .soa-cpd-container {
          padding: 10px;
      }
      
      .soa-cpd-table {
          font-size: 14px;
      }
      
      .soa-cpd-table th,
      .soa-cpd-table td {
          padding: 8px 10px;
      }
      
      .soa-cpd-form {
          padding: 20px;
      }
      
      .form-actions {
          flex-direction: column;
      }
      
      .dashboard-actions {
          flex-direction: column;
          align-items: center;
      }
      
      .dashboard-actions .button {
          min-width: 250px;
      }

      /* Mobile dashboard header */
      .dashboard-header {
          flex-direction: column;
          align-items: stretch;
          text-align: center;
      }

      .dashboard-header h1 {
          margin-bottom: 15px;
      }

      .certificate-download-btn {
          align-self: center;
          max-width: 250px;
      }
  
  } 
  
  /* Groups checkboxes styling */
  .groups-checkboxes {
      display: flex;
      flex-direction: column;
      gap: 0.75rem;
      max-height: 300px;
      overflow-y: auto;
      padding: 1rem;
      border: 1px solid var(--wp--preset--color--quaternary);
      border-radius: var(--wp--custom--border--radius--small);
      background: var(--wp--preset--color--neutral--100);
  }
  
  .checkbox-label {
      display: flex;
      align-items: flex-start;
      gap: 0.75rem;
      cursor: pointer;
      font-weight: 500;
      padding: 0.5rem;
      border-radius: var(--wp--custom--border--radius--small);
      transition: background-color 0.2s ease;
  }
  
  .checkbox-label:hover {
      background: var(--wp--preset--color--quaternary);
  }
  
  .checkbox-label input[type="checkbox"] {
      margin: 0;
      width: 18px;
      height: 18px;
      accent-color: var(--wp--preset--color--primary);
      flex-shrink: 0;
  }
  
  .checkbox-text {
      flex: 1;
      line-height: 1.4;
  }
  
  
  
  /*Event Dashboard */
  .events-dashboard {
    background: var(--wp--preset--color--quaternary);
    padding-top: var(--wp--preset--spacing--medium);
    padding-bottom: var(--wp--preset--spacing--medium);
}


.soa-cpd-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}
  
  /*CPD Progress Bar*/
  .soa-progress-bar-container {
      background: var(--wp--preset--color--white);
      border: 1px solid var(--wp--custom--color--neutral--200);
      border-radius: var(--wp--custom--border--radius--medium);
      padding: var(--wp--preset--spacing--medium);
      margin: var(--wp--preset--spacing--medium) 0;
  }
  
  .soa-progress-bar-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: var(--wp--preset--spacing--small);
  }
  
  .soa-progress-bar-header h3 {
      margin: 0;
      color: var(--wp--custom--color--neutral--900);
      font-size: var(--wp--preset--font-size--large);
  }
  
  .soa-progress-stats {
      font-size: var(--wp--preset--font-size--large);
      font-weight: bold;
  }
  
  .soa-progress-stats .current-points {
      color: var(--wp--preset--color--primary);
  }
  
  .soa-progress-stats .max-points {
      color: var(--soa-text-light);
  }
  
  .soa-progress-stats .separator {
      color: var(--soa-text-muted);
      margin: 0 var(--wp--preset--spacing--tiny);
  }
  
  .soa-progress-stats .percentage {
      color: var(--wp--preset--color--secondary);
      font-size: var(--wp--preset--font-size--normal);
      margin-left: var(--wp--preset--spacing--small);
  }
  
  .soa-progress-bar-wrapper {
      background: var(--wp--custom--color--neutral--200);
      border-radius: var(--wp--custom--border--radius--large);
      height: 20px;
      overflow: hidden;
      position: relative;
      margin-bottom: var(--wp--preset--spacing--tiny);
  }
  
  .soa-progress-bar {
      height: 100%;
      border-radius: 10px;
      transition: width 0.3s ease-in-out;
      background: linear-gradient(90deg, var(--start-color, #559cc5), var(--end-color, #63bc46));
      position: relative;
  }
  
  .soa-progress-bar::after {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
      animation: shimmer 2s infinite;
  }
  
  @keyframes shimmer {
      0% { transform: translateX(-100%); }
      100% { transform: translateX(100%); }
  }
  
  .soa-progress-bar-labels {
      display: flex;
      justify-content: space-between;
      font-size: var(--wp--preset--font-size--normal);
      color: var(--soa-text-light);
  }

/* WhatsApp-style Ask Expert Chat Cards */
.expert-board-dashboard {
    padding: var(--wp--preset--spacing--large) 0;
    background-color: var(--wp--preset--color--quaternary);
    width: 100%;
}

.guidance {
    max-width: var(--wp--custom--layout--small-content);
    margin: auto;
    padding: var(--wp--preset--spacing--large) var(--wp--preset--spacing--medium);
}

.expert-board-dashboard .expert-board-container {
    max-width: var(--wp--custom--layout--small-content);
    margin: 0 auto;
    width: 100%;
}

.expert-board-dashboard .expert-board-container.wrap {
    padding-left: var(--wp--preset--spacing--medium, 20px);
    padding-right: var(--wp--preset--spacing--medium, 20px);
}

.expert-board-dashboard .my-expert-section {
    width: 100%;
}

p.no-questions {
    margin: 0;
    text-align: center;
}

.soa-member-card.job-card.ask-expert-card {
    position: relative;
    margin: auto;
    padding: var(--wp--preset--spacing--medium);
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
    margin-bottom: var(--wp--preset--spacing--medium);
}

/* Override jobs CSS for ask-expert cards */
.soa-member-card.job-card.ask-expert-card .member-card-title {
    margin-top: 0;
    margin-bottom: 10px;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.4;
}

.soa-member-card.job-card.ask-expert-card .member-card-meta {
    margin-bottom: 0;
    font-size: 12px;
    line-height: 1.4;
}

.soa-member-card.job-card.ask-expert-card .member-card-content {
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
}

.soa-member-card.job-card.ask-expert-card .job-card-header {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-bottom: 15px;
    padding-bottom: 0;
    border-bottom: none;
}

/* Hide old status badges for ask-expert */
.soa-member-card.job-card.ask-expert-card .job-status,
.soa-member-card.job-card.ask-expert-card .status-badge {
    display: none;
}

.soa-member-card.job-card.ask-expert-card .edit-question-btn:hover {
    background: #333;
}

/* Chat Container - WhatsApp style layout */
.ask-expert-chat-container {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
}

/* Question Bubble (Left - Like incoming WhatsApp message) */
.question-with-avatar {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    width: 90%;
    max-width: 90%;
    margin-right: auto;
    margin-left: 0;
}

.question-avatar {
    flex-shrink: 0;
    width: 50px;
    height: 50px;
}

.question-avatar .avatar-img {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    object-fit: cover;
    /* border: 2px solid #fff; */
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
}

.question-content-wrapper {
    position: relative;
    background: var(--wp--preset--color--quaternary);
    color: #111b21;
    padding: var(--wp--preset--spacing--small);
    border-radius: var(--wp--custom--border--radius--medium);
    width: 100%;
    flex: 1;
}

/* Chat bubble tail pointing left (WhatsApp style) */
.question-content-wrapper::before {
    content: '';
    position: absolute;
    left: -8px;
    top: 15px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 8px 8px 8px 0;
    border-color: transparent var(--wp--preset--color--quaternary) transparent transparent;
}

.question-content-wrapper .member-card-title {
    font-size: 16px;
    font-weight: 600;
    color: #111b21;
    margin: 0 0 6px 0;
    line-height: 1.3;
}

.question-content-wrapper .member-card-meta {
    font-size: 12px;
    color: #667781;
    margin: 0 0 6px 0;
    font-weight: 400;
}

.question-content-wrapper .member-card-meta strong {
    font-weight: 600;
    color: #54656f;
}

.question-content-wrapper .member-card-content {
    font-size: 14px;
    color: #111b21;
    line-height: 1.5;
    margin: 0;
}

.question-content-wrapper .member-card-content p {
    margin: 0 0 0.75em 0;
}

.question-content-wrapper .member-card-content p:last-child {
    margin-bottom: 0;
}

.question-content-wrapper .member-card-content ul {
    margin: 0.5em 0 0.75em 0;
    padding-left: 1.5em;
}

.question-content-wrapper .member-card-content li {
    margin-bottom: 0.25em;
}

.soa-member-card.job-card.ask-expert-card > a {
    text-decoration: none;
    color: inherit;
    display: block;
}

/* Ensure ask-expert cards don't inherit jobs card styles when not in chat */
.soa-member-card.job-card.ask-expert-card .member-card-title {
    font-size: 16px;
    font-weight: 600;
}

/* Override for titles inside chat bubbles */
.ask-expert-chat-container .member-card-title {
    margin-bottom: 6px;
}

/* Override jobs CSS for ask-expert when not in chat container */
.soa-member-card.job-card.ask-expert-card .member-card-content {
    margin: 0;
    color: #555;
    line-height: 1.6;
    margin-top: 15px;
    font-size: 16px;
    /* white-space: pre-wrap; */
}

/* Expert Reply Bubble (Right - Like outgoing WhatsApp message) */
.expert-reply {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    width: 70%;
    max-width: 70%;
    margin-left: auto;
    margin-right: 0;
    justify-content: flex-end;
    flex-direction: row-reverse;
}

.reply-content-wrapper {
    position: relative;
    background: #d9fdd3;
    color: #111b21;
    padding: 8px 12px;
    border-radius: 7.5px 7.5px 0 7.5px;
    box-shadow: 0 1px 0.5px rgba(0, 0, 0, 0.13);
    text-align: left;
    width: 100%;
    flex: 1;
}

/* Chat bubble tail pointing right (WhatsApp style) */
.reply-content-wrapper::after {
    content: '';
    position: absolute;
    right: -8px;
    bottom: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 13px 8px;
    border-color: transparent transparent transparent #d9fdd3;
}

.reply-content-wrapper h4 {
    font-size: 16px;
    font-weight: 600;
    margin: 0 0 6px 0;
    color: #111b21;
    line-height: 1.3;
}

.reply-content-wrapper .member-card-meta {
    font-size: 12px;
    color: #667781;
    margin: 0 0 6px 0;
    font-weight: 400;
}

.reply-content-wrapper .member-card-meta strong {
    font-weight: 600;
    color: #54656f;
}

.reply-content-wrapper .reply-content {
    font-size: 14px;
    color: #111b21;
    line-height: 1.5;
    margin: 0;
}

.reply-content-wrapper .reply-content p {
    margin: 0 0 4px 0;
}

.reply-content-wrapper .reply-content p:last-child {
    margin-bottom: 0;
}

/* Expert Info Details */
.expert-info-details {
    margin: 8px 0 0 0;
    padding-top: 8px;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.expert-info-details .member-card-meta {
    margin-bottom: 4px;
    font-size: 11px;
    color: #667781;
}

.expert-info-details .member-card-meta a {
    color: #667781;
    text-decoration: none;
}

.expert-info-details .member-card-meta a:hover {
    text-decoration: underline;
}

.reply-avatar {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    margin-bottom: 2px;
    position: relative;
}

.reply-avatar .avatar-img {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
    position: relative;
}

/* Reply Button */
.question-actions {
    text-align: center;
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid #e5e5e5;
}

.question-actions .reply-question-btn {
    padding: var(--wp--preset--spacing--tiny) var(--wp--preset--spacing--medium);
    background: var(--wp--preset--color--secondary);
    color: var(--wp--preset--color--white);
    border: none;
    border-radius: 24px;
    font-size: var(--wp--preset--font-size--tiny);
    font-weight: 600;
    cursor: pointer;
    transition: var(--soa-transition);
    box-shadow: var(--wp--preset--shadow--subtle);
}

.question-actions .reply-question-btn:hover {
    background: var(--wp--preset--color--secondary);
    opacity: 0.9;
    transform: translateY(-1px);
    box-shadow: var(--wp--preset--shadow--normal);
}

.question-actions .reply-question-btn:active {
    transform: translateY(0);
}



.post-type-archive-ask-expert .jobs-board-container,
.page-template-archive .jobs-board-container {
    max-width: 1200px;
    margin: 0 auto;
}


/* Responsive Design */
@media (max-width: 768px) {
    .question-with-avatar,
    .expert-reply {
        width: 100%;
        max-width: 100%;
    }
    
    .soa-member-card.job-card.ask-expert-card {
        padding: 15px;
        margin-bottom: 20px;
    }
    
    .question-avatar,
    .reply-avatar {
        width: 32px;
        height: 32px;
        flex-shrink: 0;
    }
    
    .question-avatar .avatar-img,
    .reply-avatar .avatar-img {
        width: 32px;
        height: 32px;
    }
    
    .question-content-wrapper,
    .reply-content-wrapper {
        padding: 6px 10px;
    }
    .soa-member-card.job-card.ask-expert-card .member-card-content {
    font-size: 14px;
}
}



 /* Main Dashboard Container */
.events-dashboard {
    padding-top: var(--wp--preset--spacing--x-large);
    padding-bottom: var(--wp--preset--spacing--x-large);
    background-color: var(--wp--preset--color--quaternary);
    min-height: 100vh;
}

.events-dashboard .events-dashboard-container {
    max-width: var(--wp--custom--layout--content);
    margin: 0 auto;
    padding-left: var(--wp--preset--spacing--medium);
    padding-right: var(--wp--preset--spacing--medium);
}

/* Dashboard Header */
.events-dashboard .events-dashboard-header {
    margin-bottom: var(--wp--preset--spacing--large);
    text-align: center;
}

.events-dashboard .events-dashboard-header h1 {
    color: var(--wp--custom--color--neutral--900);
    margin-bottom: var(--wp--preset--spacing--medium);
    font-size: var(--wp--preset--font-size--gigantic);
    font-weight: 600;
    line-height: var(--wp--custom--line-height--tiny);
}

.events-dashboard .events-dashboard-nav {
    display: flex;
    gap: var(--wp--preset--spacing--medium);
    justify-content: center;
    flex-wrap: wrap;
    margin-top: var(--wp--preset--spacing--medium);
}

.events-dashboard .back-link,
.events-dashboard .browse-events-link {
    display: inline-flex;
    align-items: center;
    padding: var(--wp--preset--spacing--small) var(--wp--preset--spacing--medium);
    font-size: var(--wp--preset--font-size--normal);
    font-weight: 700;
    min-width: 200px;
    text-align: center;
    text-decoration: none;
    border-radius: var(--wp--custom--border--radius--large) 0 var(--wp--custom--border--radius--large) var(--wp--custom--border--radius--large);
    transition: all 0.3s ease;
    line-height: var(--wp--custom--line-height--medium);
}

.events-dashboard .back-link {
    background-color: var(--wp--custom--color--neutral--600);
    color: var(--wp--preset--color--white);
}

.events-dashboard .back-link:hover {
    background-color: var(--wp--custom--color--neutral--700);
    color: var(--wp--preset--color--white);
    text-decoration: none;
    transform: translateY(-1px);
}

.events-dashboard .browse-events-link {
    background-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--white);
}

.events-dashboard .browse-events-link:hover {
    background-color: var(--wp--preset--color--secondary);
    color: var(--wp--preset--color--white);
    text-decoration: none;
    transform: translateY(-1px);
}

/* Dashboard Content Layout */
.events-dashboard .events-dashboard-content {
    display: flex;
    flex-direction: column;
    gap: var(--wp--preset--spacing--large);
}

/* Summary Cards Section */
.events-dashboard .events-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--wp--preset--spacing--medium);
    margin-bottom: var(--wp--preset--spacing--large);
}

.events-dashboard .summary-card {
    background: var(--wp--preset--color--white);
    padding: var(--wp--preset--spacing--large);
    border: 2px solid var(--wp--custom--color--neutral--300);
    border-radius: var(--wp--custom--border--radius--medium);
    text-decoration: none;
    color: var(--wp--custom--color--neutral--900);
    transition: all 0.3s ease;
    text-align: center;
    box-shadow: var(--wp--preset--shadow--subtle);
    position: relative;
    overflow: hidden;
}

.events-dashboard .summary-card:hover {
    box-shadow: var(--wp--preset--shadow--normal);
    transform: translateY(-2px);
    text-decoration: none;
    color: var(--wp--custom--color--neutral--900);
}

.events-dashboard .summary-card.upcoming {
    border-color: var(--wp--preset--color--secondary);
}



.events-dashboard .summary-card.past {
    border-color: var(--wp--custom--color--neutral--500);
}



.events-dashboard .summary-card.total {
    border-color: var(--wp--preset--color--tertiary);
}



.events-dashboard .summary-card h3 {
    margin: 0 0 var(--wp--preset--spacing--small) 0;
    font-size: var(--wp--preset--font-size--normal);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    line-height: var(--wp--custom--line-height--small);
}

.events-dashboard .summary-count {
    font-size: var(--wp--preset--font-size--colossal);
    font-weight: 700;
    display: block;
    line-height: var(--wp--custom--line-height--tiny);
}

/* Events Section */
.events-dashboard .events-section {
    background: var(--wp--preset--color--white);
    border: 1px solid var(--wp--custom--color--neutral--300);
    border-radius: var(--wp--custom--border--radius--medium);
    padding: var(--wp--preset--spacing--large);
    box-shadow: var(--wp--preset--shadow--subtle);
}

.events-dashboard .events-section h2 {
    margin: 0 0 var(--wp--preset--spacing--medium) 0;
    color: var(--wp--custom--color--neutral--900);
    font-size: var(--wp--preset--font-size--huge);
    font-weight: 600;
    border-bottom: 2px solid var(--wp--preset--color--quaternary);
    padding-bottom: var(--wp--preset--spacing--small);
    line-height: var(--wp--custom--line-height--tiny);
}

/* Booking History Table */
.events-dashboard .booking-history-table {
    overflow-x: auto;
    border-radius: var(--wp--custom--border--radius--medium);
    box-shadow: var(--wp--preset--shadow--subtle);
}

.events-dashboard .events-audit-table {
    width: 100%;
    border-collapse: collapse;
    background-color: var(--wp--preset--color--white);
    font-size: var(--wp--preset--font-size--tiny);
    line-height: var(--wp--custom--line-height--medium);
}

.events-dashboard .events-audit-table thead {
    background-color: var(--wp--preset--color--quaternary);
}

.events-dashboard .events-audit-table th {
    padding: var(--wp--preset--spacing--small) var(--wp--preset--spacing--medium);
    text-align: left;
    font-weight: 600;
    color: var(--wp--custom--color--neutral--900);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 2px solid var(--wp--custom--color--neutral--300);
    white-space: nowrap;
}

.events-dashboard .events-audit-table td {
    padding: var(--wp--preset--spacing--small) var(--wp--preset--spacing--medium);
    border-bottom: 1px solid var(--wp--custom--color--neutral--200);
    vertical-align: top;
}

.events-dashboard .events-audit-table tbody tr:hover {
    background-color: var(--wp--preset--color--quaternary);
}

.events-dashboard .events-audit-table tbody tr:last-child td {
    border-bottom: none;
}

/* Table Cell Content Styling */
.events-dashboard .event-name {
    font-weight: 600;
    color: var(--wp--custom--color--neutral--900);
}

.events-dashboard .event-type-badge {
    display: inline-block;
    padding: 0.25rem 0.5rem;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-radius: var(--wp--custom--border--radius--small);
    margin-left: var(--wp--preset--spacing--tiny);
}

.events-dashboard .event-type-internal {
    background-color: rgba(99, 188, 70, 0.1);
    color: var(--wp--preset--color--secondary);
}

.events-dashboard .event-type-external {
    background-color: rgba(108, 117, 125, 0.1);
    color: var(--wp--custom--color--neutral--600);
}

.events-dashboard .event-location {
    color: var(--wp--custom--color--neutral--600);
    font-size: 0.875rem;
}

.events-dashboard .event-date {
    font-weight: 500;
    color: var(--wp--custom--color--neutral--900);
}

.events-dashboard .event-date small {
    color: var(--wp--custom--color--neutral--600);
    font-size: 0.875rem;
}

.events-dashboard .order-number a {
    color: var(--wp--preset--color--primary);
    text-decoration: none;
    font-weight: 600;
}

.events-dashboard .order-number a:hover {
    color: var(--wp--preset--color--secondary);
    text-decoration: underline;
}

/* Event Status Badges */
.events-dashboard .event-status-badge {
    display: inline-block;
    padding: 0.25rem 0.75rem;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-radius: var(--wp--custom--border--radius--small);
}

.events-dashboard .event-upcoming {
    background-color: rgba(99, 188, 70, 0.1);
    color: var(--wp--preset--color--secondary);
}

.events-dashboard .event-past {
    background-color: rgba(108, 117, 125, 0.1);
    color: var(--wp--custom--color--neutral--600);
}

.events-dashboard .order-date {
    font-size: 0.875rem;
    color: var(--wp--custom--color--neutral--900);
}

.events-dashboard .order-date small {
    color: var(--wp--custom--color--neutral--600);
}

/* Action Buttons */
.events-dashboard .actions .button {
    display: inline-flex;
    align-items: center;
    padding: var(--wp--preset--spacing--tiny) var(--wp--preset--spacing--small);
    font-size: var(--wp--preset--font-size--tiny);
    font-weight: 600;
    text-decoration: none;
    border-radius: var(--wp--custom--border--radius--small);
    transition: all 0.3s ease;
    line-height: var(--wp--custom--line-height--small);
}

.events-dashboard .actions .button {
    background-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--white);
}

.events-dashboard .actions .button:hover {
    background-color: var(--wp--preset--color--secondary);
    color: var(--wp--preset--color--white);
    text-decoration: none;
    transform: translateY(-1px);
}

.job-card.ask-expert-card {
    grid-column: span 3;
    width: 100%;
}

/* No Events State */
.events-dashboard .no-events {
    text-align: center;
    color: var(--wp--custom--color--neutral--600);
    font-style: italic;
    padding: var(--wp--preset--spacing--large);
    background: var(--wp--preset--color--quaternary);
    border-radius: var(--wp--custom--border--radius--medium);
    border: 2px dashed var(--wp--custom--color--neutral--300);
}

.events-dashboard .no-events p {
    margin-bottom: var(--wp--preset--spacing--medium);
    font-size: var(--wp--preset--font-size--normal);
}

.events-dashboard .no-events .button {
    display: inline-flex;
    align-items: center;
    padding: var(--wp--preset--spacing--small) var(--wp--preset--spacing--medium);
    font-size: var(--wp--preset--font-size--normal);
    font-weight: 700;
    text-decoration: none;
    border-radius: var(--wp--custom--border--radius--large) 0 var(--wp--custom--border--radius--large) var(--wp--custom--border--radius--large);
    background-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--white);
    transition: all 0.3s ease;
    line-height: var(--wp--custom--line-height--medium);
}

.events-dashboard .no-events .button:hover {
    background-color: var(--wp--preset--color--secondary);
    color: var(--wp--preset--color--white);
    text-decoration: none;
    transform: translateY(-1px);
}

form#sector-expertise-form {
    max-width: unset;
}

.expertise-category {
    margin-bottom: var(--wp--preset--spacing--large);
    border-bottom: 1px solid var(--wp--custom--color--neutral--200);
    padding-bottom: var(--wp--preset--spacing--medium);
}

.category-heading {
    color: var(--wp--preset--color--secondary);
    font-size: var(--wp--preset--font-size--large);
    font-weight: bold;
    margin-bottom: var(--wp--preset--spacing--small);
    margin-top: 0;
}

.checkbox-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 0.5rem 1rem;
}

.checkbox-option {
    display: flex;
    align-items: center;
    margin-bottom: 0.5rem;
    cursor: pointer;
}

.checkbox-option input[type="checkbox"] {
    margin-right: 0.5rem;
    margin-bottom: 0;
}

.checkbox-label {
    font-size: 0.9rem;
    line-height: 1.3;
}

.checkbox-option:hover .checkbox-label {
    color: var(--wp--preset--color--secondary);
}

/* Subscription Banner Styles */
.soa-subscription-banner {
    background: var(--wp--preset--color--tertiary);
    color: #000;
    border: 1px solid var(--wp--preset--color--tertiary);
    border-radius: var(--wp--custom--border--radius--medium);
    padding: var(--wp--preset--spacing--medium);
    margin-top: var(--wp--preset--spacing--medium);
    margin-bottom: var(--wp--preset--spacing--large);
    box-shadow: var(--wp--preset--shadow--subtle);
}

.subscription-banner-content {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

.subscription-banner-icon {
    font-size: 24px;
    flex-shrink: 0;
}

.subscription-banner-text {
    flex: 1;
    min-width: 200px;
}

.subscription-banner-text strong {
    display: block;
    font-size: var(--wp--preset--font-size--large);
    font-weight: 600;
    margin-bottom: var(--wp--preset--spacing--tiny);
}

.subscription-banner-text p {
    margin: 0;
    font-size: var(--wp--preset--font-size--tiny);
    line-height: 1.5;
}

.subscription-banner-action {
    flex-shrink: 0;
}

.subscription-button:hover {
    background-color: var(--wp--preset--color--secondary);
    color: var(--wp--preset--color--white);
    text-decoration: none;
    transform: translateY(-1px);
}

/* Active Subscription Indicator */
.subscription-status .subscription-active {
    display: inline-flex;
    align-items: center;
    gap: var(--wp--preset--spacing--tiny);
    padding: var(--wp--preset--spacing--tiny) var(--wp--preset--spacing--small);
    background-color: rgba(40, 167, 69, 0.1);
    border: 1px solid var(--wp--preset--color--secondary);
    border-radius: var(--wp--custom--border--radius--small);
    color: var(--wp--preset--color--secondary);
    font-weight: 600;
    font-size: var(--wp--preset--font-size--tiny);
}

.subscription-icon {
    font-size: var(--wp--preset--font-size--normal);
    line-height: 1;
}

.subscription-text {
    color: var(--wp--preset--color--secondary);
}

/* Subscription Required Message */
.soa-subscription-required-message {
    background: var(--wp--preset--color--white);
    border: 1px solid var(--wp--custom--color--neutral--300);
    border-radius: var(--wp--custom--border--radius--medium);
    padding: var(--wp--preset--spacing--x-large);
    margin: var(--wp--preset--spacing--large) 0;
    text-align: center;
    box-shadow: var(--wp--preset--shadow--subtle);
}

.soa-subscription-required-message h2 {
    color: var(--wp--custom--color--neutral--900);
    margin-bottom: var(--wp--preset--spacing--small);
    font-size: var(--wp--preset--font-size--huge);
}

.soa-subscription-required-message p {
    color: var(--soa-text-light);
    font-size: var(--wp--preset--font-size--normal);
    line-height: 1.6;
    margin-bottom: var(--wp--preset--spacing--medium);
}

/* Subscription Required Jobs */
.soa-subscription-required-jobs-inline {
    display: inline-block;
}

.soa-subscription-required {
    background: var(--wp--preset--color--tertiary);
    color: #000;
    border: 1px solid var(--wp--preset--color--tertiary);
    border-radius: var(--wp--custom--border--radius--medium);
    padding: var(--wp--preset--spacing--medium);
    box-shadow: var(--wp--preset--shadow--subtle);
    margin: 25px auto;
    max-width: 800px;
}

/* Utility Classes */
.hidden {
    display: none !important;
}

/* Responsive Design for Subscription Banner */
@media (max-width: 768px) {
    .subscription-banner-content {
        flex-direction: column;
        text-align: center;
    }
    
    .subscription-banner-text {
        text-align: center;
    }
    
    .subscription-banner-action {
        width: 100%;
    }
    
    .subscription-button {
        width: 100%;
        text-align: center;
    }
}

/* User Profile Card Styles */
.soa-user-profile-card {
    background: var(--wp--preset--color--white);
    border: 1px solid var(--wp--custom--color--neutral--300);
    border-radius: var(--wp--custom--border--radius--medium);
    padding: var(--wp--preset--spacing--medium);
    margin-bottom: var(--wp--preset--spacing--large);
    box-shadow: var(--wp--preset--shadow--subtle);
    position: relative;
}

.profile-header {
    display: flex;
    align-items: center;
    margin-bottom: var(--wp--preset--spacing--medium);
    padding-bottom: var(--wp--preset--spacing--medium);
    border-bottom: 1px solid var(--wp--custom--color--neutral--200);
}

.profile-avatar {
    margin-right: var(--wp--preset--spacing--medium);
}

.profile-avatar img {
    width: 125px;
    height: 125px;
    border-radius: 50%;
    object-fit: cover;
}

.profile-name {
    margin: 0 0 var(--wp--preset--spacing--tiny) 0;
    font-size: var(--wp--preset--font-size--huge);
    font-weight: 600;
    color: var(--wp--custom--color--neutral--900);
}

.profile-qualification {
    display: inline-block;
    font-size: var(--wp--preset--font-size--normal);
    font-weight: 400;
    color: var(--soa-text-light);
    margin-left: var(--wp--preset--spacing--small);
}

.profile-email {
    margin: 0;
    color: var(--soa-text-light);
    font-size: var(--wp--preset--font-size--normal);
}

.profile-details {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
}

.detail-row {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.detail-label {
    font-weight: 600;
    color: var(--soa-text);
    margin-bottom: var(--wp--preset--spacing--tiny);
    font-size: var(--wp--preset--font-size--tiny);
}

.detail-value {
    color: var(--wp--custom--color--neutral--900);
    font-size: var(--wp--preset--font-size--normal);
}

.membership-renewal .detail-value.expiring-soon {
    color: #dc3545;
    font-weight: 600;
}

.membership-warning {
    display: flex;
    align-items: center;
    margin-top: var(--wp--preset--spacing--tiny);
    padding: var(--wp--preset--spacing--tiny) var(--wp--preset--spacing--small);
    background: rgba(255, 193, 7, 0.1);
    border: 1px solid var(--wp--preset--color--tertiary);
    border-radius: var(--wp--custom--border--radius--small);
    font-size: var(--wp--preset--font-size--tiny);
}

.membership-warning.expired {
    background: rgba(220, 53, 69, 0.1);
    border-color: #dc3545;
}

.warning-icon {
    margin-right: var(--wp--preset--spacing--tiny);
    font-size: var(--wp--preset--font-size--normal);
}

.warning-text {
    font-weight: 600;
    color: var(--wp--preset--color--tertiary);
}

.membership-warning.expired .warning-text {
    color: #dc3545;
}

@media (max-width: 768px) {
    .profile-header {
        flex-direction: column;
        text-align: center;
    }
    
    .profile-avatar {
        margin-right: 0;
        margin-bottom: 15px;
    }
    
    .profile-details {
        grid-template-columns: 1fr;
    }
}

/* Ask Expert Modal - Editor Height */
#question-description_ifr {
    min-height: 200px !important;
}

#question-description {
    min-height: 200px !important;
}

/* Answer Question modal - wider and formatted question preview */
#answer-question-modal .orbit-modal-content {
    width: 100%;
    max-width: 800px;
}

#answer-question-content.question-preview {
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid #e9ecef;
}

#answer-question-content .question-preview-title {
    font-size: 1.25rem;
    font-weight: 600;
    margin: 0 0 1rem 0;
    line-height: 1.3;
    color: #1d2327;
}

#answer-question-content .question-preview-body {
    margin: 0 0 1rem 0;
    line-height: 1.6;
    color: #333;
    word-wrap: break-word;
}

#answer-question-content .question-preview-body p {
    margin: 0 0 0.75rem 0;
}

#answer-question-content .question-preview-body p:last-child {
    margin-bottom: 0;
}

#answer-question-content .question-preview-body ul {
    margin: 0 0 0.75rem 0;
    padding-left: 1.5rem;
}

#answer-question-content .question-preview-body li {
    margin-bottom: 0.25rem;
}

#answer-question-content .question-preview-author {
    margin: 0;
    font-size: 0.9375rem;
    color: #555;
}