/* Axxis public structure (scoped, neutral). Avoids colors; respects theme. */

/* Buttons */
.axxis-button {
  display: inline-block;
  text-decoration: none;
  border: 1px solid currentColor;
  padding: 6px 12px;
  border-radius: 4px;
  background: transparent;
  line-height: 1.2;
}
.axxis-button:hover { text-decoration: underline; }

/* Tabs (dashboards) */
.axxis-applicant-dashboard .tab-content,
.axxis-agent-dashboard .tab-content { display: none; }
.axxis-applicant-dashboard .tab-content.active,
.axxis-agent-dashboard .tab-content.active { display: block; }
.axxis-applicant-dashboard .nav-tab,
.axxis-agent-dashboard .nav-tab {
  cursor: pointer;
  padding: 8px 12px;
  display: inline-block;
  border-bottom: 2px solid transparent;
}
.axxis-applicant-dashboard .nav-tab.active,
.axxis-agent-dashboard .nav-tab.active { font-weight: 600; border-bottom-color: currentColor; }

/* Form spacing */
.axxis-applicant-dashboard .form-group,
.axxis-agent-dashboard .form-group,
.axxis-onboarding .form-group { margin-bottom: 12px; }

/* Job board grid and cards */
.axxis-job-board .job-filters { margin-bottom: 16px; }
.axxis-job-board .filters-form .filter-row { display: flex; gap: 12px; flex-wrap: wrap; align-items: flex-end; }
.axxis-job-board .filters-form .filter-group { flex: 1 1 220px; }
.axxis-job-board .filters-form input[type="text"],
.axxis-job-board .filters-form input[type="search"],
.axxis-job-board .filters-form select,
.axxis-job-board .filters-form textarea { width: 100%; }
.axxis-job-board .jobs-list { display: flex; flex-direction: column; gap: 12px; }
.axxis-job-board .job-card {
  border: 1px solid currentColor;
  border-radius: 6px;
  padding: 12px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: start;
}
.axxis-job-board .job-header { margin-bottom: 8px; }
.axxis-job-board .job-meta { opacity: .85; font-size: .9em; display: flex; gap: 12px; flex-wrap: wrap; }
.axxis-job-board .job-footer { margin-top: 6px; display: flex; gap: 8px; align-items: center; justify-content: space-between; grid-column: 1 / -1; }
.axxis-job-board .pagination { margin-top: 16px; }
/* Right-side column for actions/date */
.axxis-job-board .job-side { display: flex; flex-direction: column; gap: 8px; min-width: 220px; justify-content: space-between; }
.axxis-job-board .job-side .job-actions { display: flex; gap: 8px; flex-wrap: wrap; }
/* Keep excerpts compact */
.axxis-job-board .job-excerpt { display: -webkit-box; -webkit-line-clamp: 3; line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* Job details in rows */
.axxis-job-board .job-details-rows { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 8px; margin-top: 8px; }
.axxis-job-board .job-details-rows .detail-row { display: flex; gap: 6px; align-items: baseline; }
.axxis-job-board .job-details-rows .detail-label { font-weight: 600; }

/* Status badges (neutral) */
.axxis-job-board .status-badge,
.axxis-applicant-dashboard .status-badge,
.axxis-agent-dashboard .status-badge {
  display: inline-block;
  border: 1px solid currentColor;
  padding: 2px 6px;
  border-radius: 999px;
  font-size: .85em;
}

/* Dashboard structural cards/lists */
.axxis-applicant-dashboard .applications-list { display: grid; gap: 12px; }
.axxis-applicant-dashboard .application-card,
.axxis-applicant-dashboard .application-preview,
.axxis-agent-dashboard .jobs-list .job-card { border: 1px solid currentColor; border-radius: 6px; padding: 10px; }
/* Dashboard containers */
.axxis-applicant-dashboard,
.axxis-agent-dashboard { max-width: 1200px; margin: 0 auto; }
/* Single job details appended below content */
.axxis-job-details-single { margin-top: 16px; }
/* Dashboard nav structure */
.dashboard-nav { display: flex; gap: 6px; border-bottom: 1px solid currentColor; margin: 12px 0; flex-wrap: wrap; }

/* Quick actions grid */
.axxis-applicant-dashboard .quick-actions,
.axxis-agent-dashboard .quick-actions { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.axxis-applicant-dashboard .action-card,
.axxis-agent-dashboard .action-card { border: 1px dashed currentColor; border-radius: 6px; padding: 12px; text-decoration: none; color: inherit; display: flex; gap: 10px; align-items: center; }
.axxis-applicant-dashboard .action-card:hover,
.axxis-agent-dashboard .action-card:hover { text-decoration: underline; }

/* Agent application wizard */
.axxis-agent-apply{max-width:1000px;margin:0 auto;padding:8px}
.axxis-agent-apply h2{margin:0 0 12px}
.axxis-agent-apply .wizard-step{margin:16px 0;padding:12px 0;border-top:1px solid rgba(125,125,125,.2)}
.axxis-agent-apply .jobs-multiselect{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px}
.axxis-agent-apply .job-option{display:flex;align-items:center;gap:8px;border:1px solid rgba(125,125,125,.25);padding:8px;border-radius:6px}
.axxis-agent-apply .job-option .title{font-weight:600}
.axxis-agent-apply .job-option .loc{opacity:.8;margin-left:auto}
.axxis-agent-apply .doc-card{border:1px solid rgba(125,125,125,.25);border-radius:6px;margin:10px 0;padding:10px}
.axxis-agent-apply .doc-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.axxis-agent-apply .doc-item{display:grid;grid-template-columns:160px 1fr;gap:8px;align-items:center}
.axxis-agent-apply .doc-name{font-weight:600}
.axxis-agent-apply .doc-status{opacity:.85}
.axxis-agent-apply .doc-upload input[type=file]{width:100%}
.axxis-agent-apply .muted{opacity:.75}

/* Responsive tweaks */
@media (max-width: 640px) {
  .axxis-job-board .job-card { grid-template-columns: 1fr; }
}
