/* Shared State/Territory Criteria components. */
.state-allocations .state-allocations__title {
  margin: 0 0 20px;
  color: #19176e;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
}
.state-allocations .state-allocations__section {
  margin-bottom: 22px;
  padding: 18px;
  border: 1px solid #d8dce5;
  border-radius: 10px;
  background: #fff;
}
.state-allocations .state-allocations__heading {
  margin: 0 0 16px;
  padding: 0;
  color: #19176e;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  padding-bottom: 10px;
}
.state-allocations .state-allocations__scroll { overflow-x: auto; }
.state-allocations .state-allocations__scroll:focus-visible {
  outline: 2px solid #4b4bb7;
  outline-offset: 3px;
}
.state-allocations table.state-allocations__table {
  width: 100%;
  min-width: 700px;
  margin: 0;
  border: 1px solid #d8dce5;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 15px;
  font-variant-numeric: tabular-nums;
}
.state-allocations .state-allocations__table th,
.state-allocations .state-allocations__table td {
  font-size: 15px;
  padding: 10px 12px;
  border: 1px solid #d8dce5;
  background: #fff;
  vertical-align: middle;
  line-height: 1.5;
  text-align: right;
}
/* Override Salient's lighter first-column border colour. */
body:not(.woocommerce-cart) .main-content .state-allocations__table tr > :is(th, td):first-child {
  border-color: #d8dce5;
}
.state-allocations .state-allocations__table thead tr:first-child > th:first-child,
.state-allocations .state-allocations__table td:first-child {
  text-align: left;
}
.state-allocations .state-allocations__table thead th {
  background: #f0f2f6;
  color: #19176e;
  font-weight: 600;
}
.state-allocations .state-allocations__table thead th[colspan] { text-align: center; }
.state-allocations .state-allocations__table thead .state-allocations__current-year {
  background: #e9eafb;
}
.state-allocations .state-allocations__table tbody tr:not([class]):nth-child(even) > td { background: #fafbfc; }
.state-allocations .state-allocations__table .state-allocations__subtotal > td {
  background: #f3f4fa;
  color: #19176e;
  font-weight: 600;
  border-top-color: #bfc5d0;
}
.state-allocations .state-allocations__table .state-allocations__grand-total > td {
  background: #e9ecf5;
  color: #19176e;
  font-weight: 700;
}
.state-allocations .state-allocations__table .state-allocations__category > td {
  background: #f0f2f6;
  color: #19176e;
  font-weight: 600;
}
.state-allocations .state-allocations__source {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid #e1e4eb;
  color: #6b7280;
  font-size: 14px;
  line-height: 1.5;
}
.state-allocations .state-allocations__source a { color: #19176e; }
@media (max-width: 640px) {
  .state-allocations .state-allocations__section { padding: 12px; }
  .state-allocations .state-allocations__title { font-size: 21px; }
  .state-allocations .state-allocations__heading { font-size: 18px; }
}
/* Scope jQuery UI overrides to the state navigation, including ANZSCO 2022. */
:is(#tabs, #tabs2022).state-criteria-tabs {
  border-color: #d8dce5;
  border-radius: 6px;
}
:is(#tabs, #tabs2022).state-criteria-tabs > .ui-tabs-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  padding: 6px;
  border: 0;
  border-bottom: 1px solid #e1e4eb;
  border-radius: 5px 5px 0 0;
  background: #f7f8fa;
}
:is(#tabs, #tabs2022).state-criteria-tabs > .ui-tabs-nav > li {
  float: none;
  margin: 0;
  padding: 0;
  border: 1px solid #d8dce5;
  border-radius: 5px;
  background: #fff;
}
:is(#tabs, #tabs2022).state-criteria-tabs > .ui-tabs-nav > li > a {
  display: block;
  float: none;
  padding: 8px 13px;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: #19176e;
  line-height: 1.4;
  text-decoration: none;
}
:is(#tabs, #tabs2022).state-criteria-tabs > .ui-tabs-nav > li:hover {
  border-color: #bfc3d5;
  background: #f0f1f8;
}
:is(#tabs, #tabs2022).state-criteria-tabs > .ui-tabs-nav > li.ui-tabs-active {
  border-color: #19176e;
  background: #19176e;
}
:is(#tabs, #tabs2022).state-criteria-tabs > .ui-tabs-nav > li.ui-tabs-active > a {
  color: #fff;
}
:is(#tabs, #tabs2022).state-criteria-tabs > .ui-tabs-nav > li > a:focus-visible {
  outline: 2px solid #4b4bb7;
  outline-offset: 2px;
}
:is(#tabs-act, #tabs-nsw, #tabs-nt, #tabs-qld, #tabs-sa, #tabs-tas, #tabs-vic, #tabs-wa) > h3:first-of-type,
:is(#tabs-act, #tabs-nsw, #tabs-nt, #tabs-qld, #tabs-sa, #tabs-tas, #tabs-vic, #tabs-wa) > h3:first-of-type > a {
  font-weight: 700;
}
.state-criteria__state-title {
  color: #19176e;
  font-weight: 700;
}
.state-criteria__state-title > .state-criteria__heading-link {
  font: inherit;
  color: inherit;
  text-decoration: none;
}
.state-criteria__state-title > .state-criteria__heading-link:hover {
  color: #2f2d8f;
  text-decoration: none;
}
.state-criteria { overflow-anchor: none; }
.state-criteria .state-criteria__notice {
  margin: 12px 0 16px;
  padding: 14px 16px;
  border: 1px solid;
  border-left-width: 4px;
  border-radius: 6px;
  font-size: 14px;
  line-height: 1.65;
}
.state-criteria .state-criteria__notice--warning {
  background: #fffaf0;
  border-color: #f0d9a8;
  border-left-color: #c58a2a;
  color: #4a3a1f;
}
.state-criteria .state-criteria__notice--restricted {
  background: #fff7f3;
  border-color: #efd7ca;
  border-left-color: #c77d54;
  color: #4b3b32;
}
.state-criteria .state-criteria__notice--info {
  background: #f8f9fc;
  border-color: #e5e7ef;
  border-left: 3px solid #7776b8;
  color: #4f5968;
  padding: 12px 15px;
  border-radius: 5px;
}
.state-criteria .state-criteria__note {
  margin: 12px 0 16px;
  padding: 12px 14px;
  border: 1px solid #d8dce5;
  border-radius: 6px;
  background: #f7f8fa;
  font-size: 14px;
  font-style: normal;
  line-height: 1.65;
}
.state-criteria .state-criteria__note--subtle {
  display: flex;
  align-items: center;
  margin: 12px 0 0;
  padding: 10px 12px !important;
  background: #fff;
  border: 1px solid #e5e7ef;
  border-left: 4px solid #19176e;
  border-radius: 3px;
  color: #5b6472;
}
.state-criteria > .ftab > h3 {
  margin: 20px 0 12px;
  color: #19176e;
  font-weight: 600;
}
.state-criteria > .ftab > .state-criteria__heading {
  margin-top: 12px;
}
.state-criteria .state-criteria__streams {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 20px;
}
.state-criteria .state-criteria__instruction {
  margin: 0 0 20px;
  padding: 0;
  color: #6b7280;
  font-size: 15px;
  line-height: 1.5;
}
.state-criteria a.state-criteria__stream {
  display: block;
  position: relative;
  box-sizing: border-box;
  width: 100%;
  padding: 18px 42px 18px 20px;
  border: 2px solid #d8dce5;
  border-radius: 4px;
  background: #fff;
  color: #19176e;
  font: inherit;
  font-weight: 600;
  line-height: 1.5;
  text-align: left;
  cursor: pointer;
  text-decoration: none;
  box-shadow: 0 2px 5px rgba(25, 23, 110, .04);
}
.state-criteria a.state-criteria__stream::after {
  content: "";
  position: absolute;
  right: 20px;
  top: 50%;
  width: 6px;
  height: 6px;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
  opacity: .65;
  pointer-events: none;
}
.state-criteria a.state-criteria__stream:hover {
  background: #f5f6f9;
  border-color: #d8d8d8;
}
.state-criteria[data-criteria-ready] a.state-criteria__stream[aria-pressed="true"] {
  border-color: #4b4bb7;
  background: #f5f5ff;
  color: #19176e;
}
.state-criteria .state-criteria__panel {
  padding: 22px;
  border: 1px solid #bfc5d0;
  border-radius: 10px;
  background: #fff;
}
.state-criteria .state-criteria__heading,
.state-criteria .state-criteria__panel > h3 {
  color: #19176e;
}
.state-criteria .state-criteria__panel > h3 { margin: 0 0 6px; }
.state-criteria .state-criteria__occupation {
  padding: 12px;
  margin-bottom: 16px;
  border: 1px solid #cdd2da;
  border-radius: 6px;
  background: #f7f8fa;
  overflow-x: auto;
}
.state-criteria .state-criteria__occupation > h3 {
  margin: 0 0 10px !important;
  font-size: 16px;
  line-height: 1.5;
}
.state-criteria .state-criteria__occupation h6 {
  margin: 0;
  padding-bottom: 10px !important;
}
.state-criteria .state-criteria__panel > h4 {
  color: #19176e;
  margin-top: 0;
}
.state-criteria .state-criteria__occupation > a {
  display: inline-block;
  color: #19176e;
  line-height: 1.5;
}
.state-criteria .state-criteria__occupation-scroll {
  overflow-x: auto;
  margin-top: 12px;
}
.state-criteria .state-criteria__occupation-title {
  margin: 0;
  padding: 0;
  color: #19176e;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
}
.state-criteria .state-criteria__availability {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 8px;
  border: 1px solid #d8dce5;
  border-radius: 999px;
  background: #f7f8fa;
  color: #555d6b;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
  white-space: nowrap;
}
.state-criteria .state-criteria__availability > i { font-size: 8px; }
.state-criteria .state-criteria__availability[data-status="Available"] {
  color: #187b75;
  background: #edf8f5;
  border-color: #c4e3dc;
}
.state-criteria .state-criteria__availability[data-status="Not Available"] {
  color: #a34e52;
  background: #fcf1f1;
  border-color: #edcfd1;
}
.state-criteria .state-criteria__occupation-source {
  margin: 12px 0 0;
  padding: 0;
  color: #6b7280;
  font-size: 14px;
  line-height: 1.5;
}
.state-criteria .state-criteria__occupation-source > a { color: #19176e; }
.state-criteria table.state-criteria__occupation-table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  border: 1px solid #cdd2da;
  font-size: 14px;
  margin: 0 0 5px !important;
}
.state-criteria table.state-criteria__occupation-table th,
.state-criteria table.state-criteria__occupation-table td {
  padding: 9px 12px;
  border: 1px solid #cdd2da;
  background: #fff;
  text-align: left;
  vertical-align: middle;
  font-size: 14px;
  line-height: 1.5;
}
/* Keep the first-column grid consistent with the other eligibility cells. */
body:not(.woocommerce-cart) .main-content .state-criteria__occupation-table tr > :is(th, td):first-child {
  border-color: #cdd2da;
}
.state-criteria table.state-criteria__occupation-table tbody th {
  font-weight: 600;
}
.state-criteria table.state-criteria__occupation-table [style*="text-align:center"] {
  text-align: left !important;
}
.state-criteria table.state-criteria__occupation-table td > i {
  margin: 0;
  vertical-align: middle;
}
.state-criteria table.state-criteria__occupation-table thead th {
  color: #19176e;
  background: #f0f2f6;
  font-weight: 600;
}
.state-criteria .state-criteria__variants {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}
.state-criteria .state-criteria__variant {
  padding: 8px 14px;
  border: 1px solid #d8dce5;
  border-radius: 6px;
  background: #f5f6f9;
  color: #19176e;
  font: inherit;
  line-height: 1.4;
  cursor: pointer;
}
.state-criteria .state-criteria__variant[aria-pressed="true"] {
  background: #19176e;
  border-color: #19176e;
  color: #fff;
}
.state-criteria .state-criteria__variant:focus-visible,
.state-criteria a.state-criteria__stream:focus-visible {
  outline: 2px solid #19176e;
  outline-offset: 3px;
}
.state-criteria .state-criteria__resources {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid #e1e4eb;
}
.state-criteria .state-criteria__resources h4 {
  margin: 0 0 8px;
  padding: 0;
  font-size: 16px;
  font-weight: 600;
  color: #19176e;
}
.state-criteria .state-criteria__resources ul {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.state-criteria .state-criteria__resources li {
  margin: 0;
  padding: 0;
  list-style: none;
}
.state-criteria .state-criteria__resources li + li::before {
  content: "·";
  color: #8a8f98;
  margin-right: 10px;
}
.state-criteria .state-criteria__resources a {
  color: #19176e;
  font-size: 16px;
}
.state-criteria--act .state-criteria__resources a { font-size: 15px; }
.state-criteria:not([data-criteria-ready]) [data-criteria-panel],
.state-criteria [hidden] { display: none !important; }
@media (max-width: 640px) {
  .state-criteria .state-criteria__streams { grid-template-columns: 1fr; }
  .state-criteria .state-criteria__panel { padding: 16px; }
}
