.ita-customer-portal-page .site-content,
.ita-customer-portal-page .ast-container {
  max-width: 100%;
  padding-right: 0;
  padding-left: 0;
}

.ita-customer-portal-page .entry-header,
.ita-customer-portal-page .entry-title {
  display: none;
}

.ita-customer-portal-page .entry-content {
  margin: 0;
}

.ita-customer-portal-page .woocommerce {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  min-height: 680px;
  color: #dbe8f6;
  background: #081426;
}

.ita-customer-portal-page .woocommerce-MyAccount-navigation {
  float: none;
  width: auto;
  padding: 38px 22px;
  background: #0d1d33;
  border-right: 1px solid rgba(125, 211, 252, 0.16);
}

.ita-customer-portal-page .woocommerce-MyAccount-navigation ul {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ita-customer-portal-page .woocommerce-MyAccount-navigation-link a {
  display: flex;
  min-height: 44px;
  align-items: center;
  padding: 10px 14px;
  color: #b8c9dc;
  font-size: 15px;
  font-weight: 650;
  text-decoration: none;
  border: 1px solid transparent;
  border-radius: 9px;
  transition: 0.2s ease;
}

.ita-customer-portal-page .woocommerce-MyAccount-navigation-link a:hover,
.ita-customer-portal-page .woocommerce-MyAccount-navigation-link.is-active a {
  color: #fff;
  background: linear-gradient(135deg, rgba(37, 99, 235, 0.28), rgba(14, 165, 233, 0.18));
  border-color: rgba(56, 189, 248, 0.35);
  transform: translateX(2px);
}

.ita-customer-portal-page .woocommerce-MyAccount-content {
  float: none;
  width: auto;
  min-width: 0;
  padding: clamp(28px, 4vw, 58px);
  background:
    radial-gradient(circle at 90% 4%, rgba(37, 99, 235, 0.17), transparent 30%),
    #081426;
}

.ita-portal-dashboard,
.ita-portal-section {
  width: min(1180px, 100%);
  margin: 0 auto;
}

.ita-portal-hero,
.ita-section-heading {
  display: flex;
  gap: 28px;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 28px;
}

.ita-portal-hero h2,
.ita-section-heading h2 {
  margin: 4px 0 12px;
  color: #fff;
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.08;
  letter-spacing: -0.03em;
}

.ita-portal-hero p,
.ita-section-heading p {
  max-width: 720px;
  margin: 0;
  color: #aebfd2;
  font-size: 17px;
  line-height: 1.65;
}

.ita-eyebrow {
  margin: 0 !important;
  color: #38bdf8 !important;
  font-size: 12px !important;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.ita-portal-hero__badge {
  display: inline-flex;
  gap: 9px;
  align-items: center;
  flex: 0 0 auto;
  padding: 10px 14px;
  color: #d8f5e9;
  font-size: 13px;
  font-weight: 700;
  background: rgba(16, 185, 129, 0.12);
  border: 1px solid rgba(52, 211, 153, 0.28);
  border-radius: 999px;
}

.ita-metric-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 24px;
}

.ita-metric-card {
  display: flex;
  gap: 15px;
  align-items: center;
  min-height: 108px;
  padding: 20px;
  background: rgba(15, 31, 56, 0.92);
  border: 1px solid rgba(125, 211, 252, 0.16);
  border-radius: 14px;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18);
}

.ita-metric-card__icon,
.ita-action-card > span {
  display: grid;
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  place-items: center;
  color: #fff;
  font-size: 20px;
  background: linear-gradient(135deg, #2563eb, #0ea5e9);
  border-radius: 12px;
  box-shadow: 0 8px 20px rgba(37, 99, 235, 0.25);
}

.ita-metric-card strong {
  display: block;
  color: #fff;
  font-size: 28px;
  line-height: 1;
}

.ita-metric-card div span {
  display: block;
  margin-top: 7px;
  color: #9eb0c5;
  font-size: 13px;
}

.ita-action-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.ita-action-card {
  display: flex;
  gap: 18px;
  min-height: 170px;
  padding: 24px;
  color: inherit;
  text-decoration: none !important;
  background: linear-gradient(145deg, rgba(15, 31, 56, 0.96), rgba(12, 35, 62, 0.92));
  border: 1px solid rgba(125, 211, 252, 0.17);
  border-radius: 15px;
  transition: 0.22s ease;
}

.ita-action-card:hover,
.ita-action-card:focus-visible {
  color: inherit;
  border-color: rgba(56, 189, 248, 0.55);
  transform: translateY(-3px);
  box-shadow: 0 18px 35px rgba(0, 0, 0, 0.24);
}

.ita-action-card h3,
.ita-support-layout h3,
.ita-empty-state h3,
.ita-license-card h3 {
  margin: 0 0 8px;
  color: #fff;
  font-size: 19px;
}

.ita-action-card p {
  margin: 0 0 16px;
  color: #a8b8cb;
  line-height: 1.55;
}

.ita-action-card strong {
  color: #5bc8f6;
  font-size: 14px;
}

.ita-portal-assistance {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 15px;
  align-items: center;
  margin-top: 22px;
  padding: 24px;
  background: rgba(37, 99, 235, 0.12);
  border: 1px solid rgba(96, 165, 250, 0.28);
  border-radius: 14px;
}

.ita-portal-assistance h3 {
  margin: 0 0 5px;
  color: #fff;
  font-size: 18px;
}

.ita-portal-assistance p {
  margin: 0;
  color: #aebfd2;
}

.ita-button,
.ita-customer-portal-page .woocommerce a.button,
.ita-customer-portal-page .woocommerce button.button,
.ita-customer-portal-page .woocommerce input.button {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 10px 18px;
  color: #fff !important;
  font-weight: 750;
  text-decoration: none !important;
  background: linear-gradient(135deg, #2563eb, #0ea5e9) !important;
  border: 0 !important;
  border-radius: 9px !important;
  box-shadow: 0 8px 20px rgba(37, 99, 235, 0.22);
}

.ita-button--secondary {
  color: #dceafa !important;
  background: rgba(15, 31, 56, 0.85) !important;
  border: 1px solid rgba(125, 211, 252, 0.3) !important;
}

.ita-license-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.ita-license-card,
.ita-support-form,
.ita-ticket-list,
.ita-empty-state {
  padding: 24px;
  background: rgba(15, 31, 56, 0.94);
  border: 1px solid rgba(125, 211, 252, 0.17);
  border-radius: 15px;
}

.ita-license-card__top,
.ita-ticket,
.ita-ticket__meta {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  justify-content: space-between;
}

.ita-license-card h3 {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 17px;
  letter-spacing: 0.03em;
}

.ita-status {
  display: inline-flex;
  padding: 6px 10px;
  color: #e8f1fb;
  font-size: 12px;
  font-weight: 800;
  border-radius: 999px;
}

.ita-status--good { background: rgba(16, 185, 129, 0.2); border: 1px solid rgba(52, 211, 153, 0.35); }
.ita-status--review { background: rgba(245, 158, 11, 0.18); border: 1px solid rgba(251, 191, 36, 0.35); }
.ita-status--issue { background: rgba(239, 68, 68, 0.18); border: 1px solid rgba(248, 113, 113, 0.35); }

.ita-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 22px 0 0;
}

.ita-detail-grid div {
  padding: 13px;
  background: rgba(7, 20, 37, 0.72);
  border-radius: 9px;
}

.ita-detail-grid dt {
  color: #8398b0;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ita-detail-grid dd {
  margin: 4px 0 0;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
}

.ita-security-note,
.ita-form-help {
  color: #90a5bc;
  font-size: 13px;
}

.ita-support-layout {
  display: grid;
  grid-template-columns: minmax(340px, 0.82fr) minmax(400px, 1.18fr);
  gap: 20px;
}

.ita-support-form label,
.ita-customer-portal-page .woocommerce form label {
  display: block;
  margin: 16px 0 7px;
  color: #dce8f5;
  font-size: 13px;
  font-weight: 750;
}

.ita-support-form input,
.ita-support-form select,
.ita-support-form textarea,
.ita-customer-portal-page .woocommerce form input.input-text,
.ita-customer-portal-page .woocommerce form select,
.ita-customer-portal-page .woocommerce form textarea {
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  color: #fff;
  background: #071425;
  border: 1px solid #29415c;
  border-radius: 8px;
  outline: none;
}

.ita-support-form input:focus,
.ita-support-form select:focus,
.ita-support-form textarea:focus {
  border-color: #38bdf8;
  box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.12);
}

.ita-form-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.ita-ticket-list {
  display: grid;
  align-content: start;
  gap: 12px;
}

.ita-ticket {
  padding: 17px;
  background: rgba(7, 20, 37, 0.72);
  border: 1px solid rgba(125, 211, 252, 0.12);
  border-radius: 10px;
}

.ita-ticket h4 {
  margin: 1px 0 7px;
  color: #fff;
  font-size: 16px;
}

.ita-ticket p {
  margin: 0;
  color: #9db0c5;
  font-size: 13px;
}

.ita-ticket__number {
  color: #38bdf8 !important;
  font-size: 11px !important;
  font-weight: 800;
}

.ita-ticket__meta {
  flex-direction: column;
  align-items: flex-end;
  color: #8195aa;
  font-size: 11px;
}

.ita-empty-state {
  text-align: center;
}

.ita-empty-state__icon {
  display: grid;
  width: 62px;
  height: 62px;
  margin: 0 auto 15px;
  place-items: center;
  font-size: 28px;
  background: rgba(37, 99, 235, 0.18);
  border-radius: 50%;
}

.ita-empty-state p {
  color: #9db0c5;
}

.ita-empty-state--compact {
  padding: 18px;
}

.ita-customer-portal-page .woocommerce-error,
.ita-customer-portal-page .woocommerce-message,
.ita-customer-portal-page .woocommerce-info {
  color: #eaf3fd;
  background: #102642;
  border-top-color: #38bdf8;
}

.ita-customer-portal-page .woocommerce table.shop_table {
  overflow: hidden;
  color: #dce8f5;
  border-color: rgba(125, 211, 252, 0.2);
  border-radius: 10px;
}

.ita-customer-portal-page .woocommerce table.shop_table th,
.ita-customer-portal-page .woocommerce table.shop_table td {
  border-color: rgba(125, 211, 252, 0.14);
}

.ita-customer-portal-page .ita-portal-orders table.shop_table thead th {
  color: #0b1f36;
  background: #f7fbff;
}

.ita-customer-portal-page .ita-portal-orders table.shop_table tbody td {
  color: #f4f8fc;
}

.ita-customer-portal-page .woocommerce a {
  color: #55c7f5;
}

@media (max-width: 1050px) {
  .ita-customer-portal-page .woocommerce { grid-template-columns: 220px minmax(0, 1fr); }
  .ita-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ita-support-layout { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .ita-customer-portal-page .woocommerce { display: block; }
  .ita-customer-portal-page .woocommerce-MyAccount-navigation { padding: 16px; border-right: 0; border-bottom: 1px solid rgba(125, 211, 252, 0.16); }
  .ita-customer-portal-page .woocommerce-MyAccount-navigation ul { display: flex; overflow-x: auto; padding-bottom: 5px; }
  .ita-customer-portal-page .woocommerce-MyAccount-navigation-link { flex: 0 0 auto; }
  .ita-customer-portal-page .woocommerce-MyAccount-content { padding: 25px 16px 38px; }
  .ita-portal-hero, .ita-section-heading { display: block; }
  .ita-portal-hero__badge { margin-top: 18px; }
  .ita-action-grid, .ita-license-grid { grid-template-columns: 1fr; }
  .ita-portal-assistance { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  .ita-metric-grid, .ita-detail-grid, .ita-form-row { grid-template-columns: 1fr; }
  .ita-action-card { min-height: 0; padding: 19px; }
  .ita-license-card__top, .ita-ticket { flex-direction: column; }
  .ita-ticket__meta { flex-direction: row; align-items: center; }
}

@media (prefers-reduced-motion: reduce) {
  .ita-customer-portal-page * { scroll-behavior: auto !important; transition: none !important; }
}

/* Keep WooCommerce's notices wrapper from becoming the first grid cell.
   Without explicit placement, the empty wrapper pushes the navigation into
   the content column and forces the dashboard into the narrow sidebar. */
@media (min-width: 761px) {
  .ita-customer-portal-page .woocommerce {
    grid-template-areas:
      "account-navigation account-notices"
      "account-navigation account-content";
    grid-template-rows: auto minmax(680px, 1fr);
  }

  .ita-customer-portal-page .woocommerce > .woocommerce-MyAccount-navigation {
    grid-area: account-navigation;
    align-self: stretch;
  }

  .ita-customer-portal-page .woocommerce > .woocommerce-notices-wrapper {
    grid-area: account-notices;
    min-width: 0;
    padding: 24px clamp(28px, 4vw, 58px) 0;
    background: #081426;
  }

  .ita-customer-portal-page .woocommerce > .woocommerce-notices-wrapper:empty {
    display: none;
  }

  .ita-customer-portal-page .woocommerce > .woocommerce-MyAccount-content {
    grid-area: account-content;
    min-width: 0;
  }
}

/* Customer portal layout alignment v2 */
.ita-customer-portal-page .site-content {
  background: #0b1526;
}

.ita-customer-portal-page .ast-container {
  width: 100%;
  max-width: none !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.logged-in.ita-customer-portal-page .woocommerce {
  width: min(1180px, calc(100% - 40px));
  margin: 40px auto 56px;
  overflow: hidden;
  border: 1px solid rgba(125, 211, 252, 0.18);
  border-radius: 18px;
  box-shadow: 0 22px 55px rgba(0, 0, 0, 0.26);
}

body:not(.logged-in).ita-customer-portal-page .woocommerce {
  display: block !important;
  width: min(1180px, calc(100% - 40px));
  min-height: auto;
  margin: 0 auto;
  padding: 48px 0 64px;
  color: #dbe8f6;
  background: transparent;
}

body:not(.logged-in).ita-customer-portal-page .woocommerce-notices-wrapper {
  width: min(620px, 100%);
  margin: 0 auto 22px;
}

body:not(.logged-in).ita-customer-portal-page .woocommerce-error,
body:not(.logged-in).ita-customer-portal-page .woocommerce-message,
body:not(.logged-in).ita-customer-portal-page .woocommerce-info {
  margin: 0;
  padding: 18px 22px 18px 48px;
  color: #eaf3fd;
  background: #132944;
  border: 1px solid rgba(56, 189, 248, 0.26);
  border-top: 3px solid #38bdf8;
  border-radius: 12px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18);
}

body:not(.logged-in).ita-customer-portal-page form.woocommerce-form-login {
  float: none !important;
  width: min(620px, 100%) !important;
  margin: 0 auto !important;
  padding: 34px !important;
  color: #dbe8f6;
  background: #202c3b;
  border: 1px solid #34465d !important;
  border-radius: 16px !important;
  box-shadow: 0 20px 48px rgba(0, 0, 0, 0.24);
}

body:not(.logged-in).ita-customer-portal-page form.woocommerce-form-login::before {
  display: block;
  margin: 0 0 8px;
  color: #ffffff;
  font-size: clamp(28px, 4vw, 38px);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.03em;
  content: 'Customer Portal';
}

body:not(.logged-in).ita-customer-portal-page form.woocommerce-form-login::after {
  display: block;
  clear: both;
  content: '';
}

body:not(.logged-in).ita-customer-portal-page form.woocommerce-form-login > p:first-of-type::before {
  display: block;
  margin: 0 0 26px;
  color: #aebfd2;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.6;
  content: 'Sign in to manage your licences, software downloads, orders and support requests.';
}

body:not(.logged-in).ita-customer-portal-page .woocommerce-form-login .form-row {
  width: 100%;
  margin: 0 0 18px;
  padding: 0;
}

body:not(.logged-in).ita-customer-portal-page .woocommerce-form-login label {
  margin: 0 0 8px;
  color: #e5eef8;
  font-size: 14px;
  font-weight: 700;
}

body:not(.logged-in).ita-customer-portal-page .woocommerce-form-login input.input-text {
  min-height: 50px;
  padding: 12px 14px;
  color: #ffffff;
  background: #0b1526;
  border: 1px solid #3a506b;
  border-radius: 9px;
}

body:not(.logged-in).ita-customer-portal-page .woocommerce-form-login input.input-text:focus {
  border-color: #38bdf8;
  box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.14);
}

body:not(.logged-in).ita-customer-portal-page .woocommerce-form-login__rememberme {
  display: inline-flex !important;
  gap: 8px;
  align-items: center;
  margin: 2px 18px 16px 0 !important;
}

body:not(.logged-in).ita-customer-portal-page .woocommerce-form-login__rememberme input {
  width: 16px;
  height: 16px;
  margin: 0;
}

body:not(.logged-in).ita-customer-portal-page .woocommerce-form-login .woocommerce-LostPassword {
  margin: 18px 0 0;
}

body:not(.logged-in).ita-customer-portal-page .woocommerce-form-login .woocommerce-LostPassword a {
  font-weight: 700;
}

@media (max-width: 760px) {
  .logged-in.ita-customer-portal-page .woocommerce {
    width: calc(100% - 24px);
    margin: 20px auto 36px;
    border-radius: 14px;
  }

  body:not(.logged-in).ita-customer-portal-page .woocommerce {
    width: calc(100% - 32px);
    padding: 32px 0 44px;
  }

  body:not(.logged-in).ita-customer-portal-page form.woocommerce-form-login {
    padding: 24px !important;
  }
}
