:root {
  --portal-primary: #1b84ff;
  --portal-success: #17c653;
  --portal-danger: #f8285a;
  --portal-warning: #f6c000;
  --portal-info: #7239ea;
  --portal-dark: #1e2129;
  --portal-text: #071437;
  --portal-muted: #78829d;
  --portal-border: #e7eaf3;
  --portal-bg: #f5f7fa;
  --portal-surface: #ffffff;
  --portal-surface-soft: #f7f9fc;
  --portal-table-head: #f1f5fb;
  --portal-table-stripe: #f8fafd;
  --portal-code-text: #b4235a;
  --portal-code-bg: #fff1f5;
  --portal-radius: 8px;
  --portal-shadow: 0 10px 28px rgba(26, 31, 54, 0.06);
}

[data-portal-theme="dark"] {
  --portal-text: #e7edf8;
  --portal-muted: #9aa6b2;
  --portal-border: #2b313a;
  --portal-bg: #101317;
  --portal-surface: #181d24;
  --portal-surface-soft: #202733;
  --portal-table-head: #222a36;
  --portal-table-stripe: #1d242e;
  --portal-code-text: #ff8cb2;
  --portal-code-bg: #311f2a;
  --portal-shadow: 0 10px 28px rgba(0, 0, 0, 0.24);
}

@media (prefers-color-scheme: dark) {
  [data-portal-theme="system"] {
    --portal-text: #e7edf8;
    --portal-muted: #9aa6b2;
    --portal-border: #2b313a;
    --portal-bg: #101317;
    --portal-surface: #181d24;
    --portal-surface-soft: #202733;
    --portal-table-head: #222a36;
    --portal-table-stripe: #1d242e;
    --portal-code-text: #ff8cb2;
    --portal-code-bg: #311f2a;
    --portal-shadow: 0 10px 28px rgba(0, 0, 0, 0.24);
  }
}

body.portal-body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: var(--portal-bg);
  color: var(--portal-text);
  font-family: "Inter", "Open Sans", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
  letter-spacing: 0;
}

.portal-header {
  position: sticky;
  top: 0;
  z-index: 1020;
  background: var(--portal-surface);
  border-bottom: 1px solid var(--portal-border);
  box-shadow: 0 2px 14px rgba(15, 23, 42, 0.04);
}

.portal-shell,
.portal-topbar,
.portal-actions,
.portal-brand,
.portal-nav,
.portal-announcement-inner,
.portal-footer-grid,
.portal-card-head,
.portal-bind-item {
  display: flex;
  align-items: center;
}

.portal-topbar {
  min-height: 68px;
}

.portal-shell {
  gap: 18px;
}

.portal-brand {
  min-width: 174px;
  color: var(--portal-text);
  gap: 10px;
  text-decoration: none;
}

.portal-brand:hover {
  color: var(--portal-text);
  text-decoration: none;
}

.portal-brand-mark {
  display: inline-flex;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  color: #fff;
  font-weight: 800;
  background: linear-gradient(135deg, var(--portal-primary), #00a3ff);
}

.portal-brand strong,
.portal-brand small {
  display: block;
  line-height: 1.15;
}

.portal-brand small {
  color: var(--portal-muted);
  font-size: 12px;
  margin-top: 3px;
}

.portal-menu-toggle {
  display: none;
  border: 1px solid var(--portal-border);
  background: var(--portal-surface);
  color: var(--portal-text);
  border-radius: var(--portal-radius);
  width: 38px;
  height: 38px;
}

.portal-nav {
  flex: 1 1 auto;
  gap: 4px;
}

.portal-nav > a,
.portal-nav-dropdown > a {
  color: var(--portal-muted);
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 9px 10px;
  border-radius: 6px;
  font-size: 14px;
  white-space: nowrap;
}

.portal-nav > a:hover,
.portal-nav > a.active,
.portal-nav-dropdown:hover > a {
  background: rgba(27, 132, 255, 0.1);
  color: var(--portal-primary);
  text-decoration: none;
}

.portal-nav-dropdown {
  position: relative;
}

.portal-dropdown-menu {
  position: absolute;
  display: none;
  min-width: 218px;
  top: 100%;
  left: 0;
  padding: 8px;
  background: var(--portal-surface);
  border: 1px solid var(--portal-border);
  border-radius: var(--portal-radius);
  box-shadow: var(--portal-shadow);
}

.portal-nav-dropdown:hover .portal-dropdown-menu {
  display: grid;
}

.portal-dropdown-menu a {
  color: var(--portal-text);
  padding: 8px 10px;
  border-radius: 6px;
  font-size: 14px;
}

.portal-dropdown-menu a:hover {
  background: var(--portal-bg);
  text-decoration: none;
}

.portal-actions {
  margin-left: auto;
  gap: 8px;
}

.portal-icon-btn,
.portal-login-btn,
.portal-user-btn,
.portal-theme-switch button {
  border: 1px solid var(--portal-border);
  background: var(--portal-surface);
  color: var(--portal-text);
  border-radius: 7px;
  min-width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.portal-login-btn {
  padding: 0 14px;
  color: #fff;
  border-color: var(--portal-primary);
  background: var(--portal-primary);
}

.portal-login-btn:hover {
  color: #fff;
  text-decoration: none;
}

.portal-cart-count {
  margin-left: 5px;
  min-width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9px;
  background: var(--portal-primary);
  color: #fff;
  font-size: 11px;
}

.portal-theme-switch {
  display: inline-flex;
  border: 1px solid var(--portal-border);
  border-radius: 7px;
  overflow: hidden;
}

.portal-theme-switch button {
  border: 0;
  border-radius: 0;
  width: 34px;
}

.portal-theme-switch button.active {
  color: #fff;
  background: var(--portal-primary);
}

.portal-user-btn {
  gap: 8px;
  padding: 0 10px 0 5px;
}

.portal-user-avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(27, 132, 255, 0.13);
  color: var(--portal-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
}

.portal-user-name {
  max-width: 120px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.portal-announcement {
  background: rgba(27, 132, 255, 0.08);
  border-bottom: 1px solid rgba(27, 132, 255, 0.13);
}

.portal-announcement-inner {
  min-height: 42px;
  gap: 10px;
  color: var(--portal-text);
  font-size: 14px;
}

.portal-announcement-inner a {
  margin-left: auto;
  color: var(--portal-primary);
}

.portal-breadcrumb {
  background: transparent;
  padding: 14px 0 0;
}

.portal-breadcrumb .breadcrumb {
  background: transparent;
  padding-left: 0;
  padding-right: 0;
  margin-bottom: 0;
}

.portal-main {
  flex: 1 0 auto;
  padding: 18px 0 38px;
}

.portal-sidebar .card {
  border-color: var(--portal-border);
  border-radius: var(--portal-radius);
  box-shadow: none;
}

.portal-main .main-content,
.portal-main .primary-content,
.portal-main .secondary-content {
  color: var(--portal-text);
}

.portal-main .card,
.portal-main .panel,
.portal-main .panel-default,
.portal-main .panel-sidebar,
.portal-main .product-recommendations-container,
.portal-main .mc-promo,
.portal-main .domain-checker-container {
  color: var(--portal-text);
  background: var(--portal-surface);
  border: 1px solid var(--portal-border);
  border-radius: var(--portal-radius);
  box-shadow: var(--portal-shadow);
}

.portal-main .card-header,
.portal-main .panel-heading,
.portal-main .panel-sidebar > .panel-heading,
.portal-main .panel-sidebar > .card-header {
  color: var(--portal-text);
  background: var(--portal-surface);
  border-bottom: 1px solid var(--portal-border);
  border-radius: var(--portal-radius) var(--portal-radius) 0 0;
}

.portal-main .card-header .panel-title,
.portal-main .panel-heading .panel-title,
.portal-main .card-title {
  margin: 0;
  color: var(--portal-text);
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0;
}

.portal-main .card-header i,
.portal-main .panel-heading i {
  color: var(--portal-primary);
  opacity: 1;
}

.portal-main .card-body,
.portal-main .panel-body {
  background: var(--portal-surface);
  color: var(--portal-text);
}

.portal-main .list-group,
.portal-main .collapsable-card-body {
  background: var(--portal-surface);
  border-radius: 0 0 var(--portal-radius) var(--portal-radius);
}

.portal-main .list-group-item,
.portal-main .list-group-item-action {
  color: var(--portal-text);
  background: var(--portal-surface);
  border-color: var(--portal-border);
}

.portal-main .list-group-item:hover,
.portal-main .list-group-item-action:hover {
  color: var(--portal-primary);
  background: rgba(27, 132, 255, 0.08);
}

.portal-main .list-group-item.active,
.portal-main .list-group-item.active:hover,
.portal-main .list-group-item.active:focus {
  color: #fff;
  background: var(--portal-primary);
  border-color: var(--portal-primary);
}

.portal-main .list-group-item i,
.portal-main .list-group-item .fa,
.portal-main .list-group-item .fas {
  color: currentColor;
  opacity: 0.86;
}

.portal-main .text-muted,
.portal-main small,
.portal-main .small {
  color: var(--portal-muted) !important;
}

.portal-main a {
  color: var(--portal-primary);
}

.portal-main h1,
.portal-main h2,
.portal-main h3,
.portal-main h4,
.portal-main h5,
.portal-main h6 {
  color: var(--portal-text);
  letter-spacing: 0;
}

.portal-main .alert {
  border-radius: var(--portal-radius);
  border-width: 1px;
  box-shadow: none;
}

.portal-main .alert-danger {
  color: #8b1e33;
  background: #fff0f3;
  border-color: #ffd0da;
}

.portal-main .alert-success {
  color: #0b6b32;
  background: #e9fbeF;
  border-color: #c8f2d7;
}

[data-portal-theme="dark"] .portal-main .alert-danger {
  color: #ffc4cf;
  background: rgba(248, 40, 90, 0.14);
  border-color: rgba(248, 40, 90, 0.28);
}

[data-portal-theme="dark"] .portal-main .alert-success {
  color: #b7f6cb;
  background: rgba(23, 198, 83, 0.14);
  border-color: rgba(23, 198, 83, 0.28);
}

@media (prefers-color-scheme: dark) {
  [data-portal-theme="system"] .portal-main .alert-danger {
    color: #ffc4cf;
    background: rgba(248, 40, 90, 0.14);
    border-color: rgba(248, 40, 90, 0.28);
  }

  [data-portal-theme="system"] .portal-main .alert-success {
    color: #b7f6cb;
    background: rgba(23, 198, 83, 0.14);
    border-color: rgba(23, 198, 83, 0.28);
  }
}

.portal-main .table,
.portal-main table {
  color: var(--portal-text);
  background: var(--portal-surface);
}

.portal-main .table th,
.portal-main .table td {
  border-color: var(--portal-border);
  color: var(--portal-text);
}

.portal-main .table thead th {
  color: var(--portal-muted);
  background: var(--portal-table-head);
  border-bottom-color: var(--portal-border);
}

.portal-main .table tbody th {
  color: var(--portal-muted);
  background: var(--portal-table-head);
}

.portal-main .table-striped tbody tr:nth-of-type(odd) {
  background-color: var(--portal-table-stripe);
}

.portal-main .table-hover tbody tr:hover {
  color: var(--portal-text);
  background-color: rgba(27, 132, 255, 0.08);
}

.portal-main .table-container,
.portal-main .dataTables_wrapper {
  color: var(--portal-text);
}

.portal-main .table-list,
.portal-main #tableServicesList {
  overflow: hidden;
  color: var(--portal-text) !important;
  background: var(--portal-surface) !important;
  border: 1px solid var(--portal-border);
  border-radius: var(--portal-radius);
  box-shadow: var(--portal-shadow);
}

.portal-main .table-list thead th,
.portal-main #tableServicesList thead th {
  color: var(--portal-muted) !important;
  background: var(--portal-table-head) !important;
  border-color: var(--portal-border) !important;
  font-weight: 800;
}

.portal-main .table-list tbody tr,
.portal-main #tableServicesList tbody tr {
  color: var(--portal-text) !important;
  background: var(--portal-surface) !important;
}

.portal-main .table-list tbody tr:nth-child(even),
.portal-main #tableServicesList tbody tr:nth-child(even) {
  background: var(--portal-table-stripe) !important;
}

.portal-main .table-list tbody tr:hover,
.portal-main #tableServicesList tbody tr:hover {
  background: rgba(27, 132, 255, 0.1) !important;
}

.portal-main .table-list td,
.portal-main #tableServicesList td {
  color: var(--portal-text) !important;
  background: transparent !important;
  border-color: var(--portal-border) !important;
}

.portal-main .table-list td strong,
.portal-main #tableServicesList td strong {
  color: var(--portal-text) !important;
  font-weight: 800;
}

.portal-main .table-list td a,
.portal-main #tableServicesList td a {
  color: var(--portal-primary) !important;
}

.portal-main .dataTables_filter input,
.portal-main .dataTables_length select {
  color: var(--portal-text) !important;
  background: var(--portal-surface) !important;
  border: 1px solid var(--portal-border) !important;
  border-radius: var(--portal-radius);
}

.portal-main .dataTables_info,
.portal-main .dataTables_length,
.portal-main .dataTables_filter,
.portal-main .dataTables_paginate {
  color: var(--portal-text) !important;
}

.portal-main .dataTables_paginate .paginate_button,
.portal-main .pagination .page-link {
  color: var(--portal-text) !important;
  background: var(--portal-surface) !important;
  border-color: var(--portal-border) !important;
}

.portal-main .dataTables_paginate .paginate_button.current,
.portal-main .dataTables_paginate .paginate_button.current:hover,
.portal-main .pagination .page-item.active .page-link {
  color: #fff !important;
  background: var(--portal-primary) !important;
  border-color: var(--portal-primary) !important;
}

.portal-main .status,
.portal-main .label.status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 4px 8px;
  border-radius: 6px;
  color: #fff !important;
  font-size: 12px;
  font-weight: 800;
}

.portal-main .status-active,
.portal-main .status-available {
  background: var(--portal-success) !important;
}

.portal-main .status-terminated,
.portal-main .status-cancelled,
.portal-main .status-fraud {
  background: #68707a !important;
}

.portal-main .status-suspended,
.portal-main .status-pending {
  background: #a77d00 !important;
}

.portal-main #order-standard_cart,
.portal-main #order-standard_cart .cart-body,
.portal-main #order-standard_cart .secondary-cart-body,
.portal-main #order-standard_cart .secondary-cart-sidebar,
.portal-main #order-standard_cart .view-cart-items,
.portal-main #order-standard_cart .view-cart-empty,
.portal-main #order-standard_cart .summary-container,
.portal-main #order-standard_cart .tab-content,
.portal-main #order-standard_cart .promo,
.portal-main #order-standard_cart .order-summary {
  color: var(--portal-text) !important;
  background: var(--portal-surface) !important;
  border-color: var(--portal-border) !important;
}

.portal-main #order-standard_cart .view-cart-items-header,
.portal-main #order-standard_cart .order-summary .header {
  color: var(--portal-text) !important;
  background: var(--portal-primary) !important;
  border-color: var(--portal-primary) !important;
}

.portal-main #order-standard_cart .view-cart-items-header,
.portal-main #order-standard_cart .view-cart-items-header * {
  color: #fff !important;
}

.portal-main #order-standard_cart .order-summary .header {
  background: var(--portal-table-head) !important;
  border-color: var(--portal-border) !important;
}

.portal-main #order-standard_cart .order-summary,
.portal-main #order-standard_cart .view-cart-tabs,
.portal-main #order-standard_cart .promo,
.portal-main #order-standard_cart .view-cart-empty {
  border: 1px solid var(--portal-border) !important;
  border-radius: var(--portal-radius);
  box-shadow: var(--portal-shadow);
}

.portal-main #order-standard_cart .view-cart-tabs .nav-link {
  color: var(--portal-muted) !important;
  background: var(--portal-table-head) !important;
  border-color: var(--portal-border) !important;
}

.portal-main #order-standard_cart .view-cart-tabs .nav-link.active {
  color: var(--portal-text) !important;
  background: var(--portal-surface) !important;
}

.portal-main .realname-auth-card {
  color: var(--portal-text) !important;
  background: var(--portal-surface) !important;
  border: 1px solid var(--portal-border);
  box-shadow: var(--portal-shadow) !important;
}

.portal-main .realname-auth-card h1,
.portal-main .realname-auth-card h2,
.portal-main .realname-auth-card h3,
.portal-main .realname-auth-card h4,
.portal-main .realname-auth-card h5,
.portal-main .realname-auth-card h6,
.portal-main .realname-auth-card .edit-auth-type-item-tit,
.portal-main .realname-auth-card .form-group-l,
.portal-main .realname-auth-card .control-label {
  color: var(--portal-text) !important;
}

.portal-main .realname-auth-card .edit-auth-type-des,
.portal-main .realname-auth-card .edit-auth-type-ft,
.portal-main .realname-auth-card .edit-auth-type-item-txt,
.portal-main .realname-auth-card .edit-auth-type-item-txt li,
.portal-main .realname-auth-card .text-light-gray,
.portal-main .realname-auth-card small,
.portal-main .realname-auth-card p {
  color: var(--portal-muted) !important;
}

.portal-main .realname-auth-card .edit-auth-type-item,
.portal-main .realname-auth-card .content-details,
.portal-main .realname-auth-card .content-certification,
.portal-main .realname-auth-card .submit-info-page,
.portal-main .realname-auth-card .content-scan,
.portal-main .realname-auth-card .content-success,
.portal-main .realname-auth-card .form-body,
.portal-main .realname-auth-card .default-noimg {
  color: var(--portal-text) !important;
  background: var(--portal-surface-soft) !important;
  border-color: var(--portal-border) !important;
}

.portal-main .realname-auth-card .edit-auth-type-item {
  border-radius: var(--portal-radius);
}

.portal-main .realname-auth-card .edit-auth-type-item-txt li::after {
  background-color: var(--portal-muted) !important;
}

.portal-main .realname-auth-card .col-red {
  color: var(--portal-danger) !important;
}

.portal-main .realname-auth-card .form-control,
.portal-main .realname-auth-card input[type="text"],
.portal-main .realname-auth-card textarea,
.portal-main .realname-auth-card select {
  color: var(--portal-text) !important;
  background: var(--portal-surface-soft) !important;
  border-color: var(--portal-border) !important;
}

.portal-main .realname-auth-card .form-control:focus,
.portal-main .realname-auth-card input[type="text"]:focus,
.portal-main .realname-auth-card textarea:focus,
.portal-main .realname-auth-card select:focus {
  color: var(--portal-text) !important;
  background: var(--portal-surface) !important;
  border-color: var(--portal-primary) !important;
  box-shadow: 0 0 0 0.16rem rgba(27, 132, 255, 0.18) !important;
}

.portal-main .realname-auth-card #qrcode {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
  background: #fff !important;
  border: 1px solid #d9dee8;
  border-radius: var(--portal-radius);
}

.portal-main .realname-auth-card #qrcode canvas,
.portal-main .realname-auth-card #qrcode img {
  background: #fff !important;
}

.portal-main .realname-auth-card .btn,
.portal-main .realname-auth-card .btn-primary,
.portal-main .realname-auth-card .btn-realname-auth-type,
.portal-main .realname-auth-card .btn-goto-verify {
  color: #fff !important;
  background: var(--portal-primary) !important;
  border-color: var(--portal-primary) !important;
}

.portal-main .realname-auth-card .btn:hover,
.portal-main .realname-auth-card .btn-primary:hover,
.portal-main .realname-auth-card .btn-realname-auth-type:hover,
.portal-main .realname-auth-card .btn-goto-verify:hover {
  color: #fff !important;
  background: #006fe6 !important;
  border-color: #006fe6 !important;
}

.portal-main #order-standard_cart #continueShopping,
.portal-main #order-standard_cart .btn-continue-shopping {
  color: var(--portal-primary) !important;
}

.portal-main #order-standard_cart .products,
.portal-main #order-standard_cart .products .product,
.portal-main #order-standard_cart .products .product header,
.portal-main #order-standard_cart .products .product footer,
.portal-main #order-standard_cart .products .product div.product-desc,
.portal-main #order-standard_cart .products .product div.product-pricing,
.portal-main #order-standard_cart .products .product .product-title,
.portal-main #order-standard_cart .products .product .product-price {
  color: var(--portal-text) !important;
  background: var(--portal-surface-soft) !important;
  border-color: var(--portal-border) !important;
}

.portal-main #order-standard_cart .products .product {
  border: 1px solid var(--portal-border) !important;
  border-radius: var(--portal-radius) !important;
  box-shadow: var(--portal-shadow);
  overflow: hidden;
}

.portal-main #order-standard_cart .products .product header {
  background: var(--portal-table-head) !important;
  border-bottom: 1px solid var(--portal-border) !important;
}

.portal-main #order-standard_cart .products .product:hover {
  border-color: rgba(27, 132, 255, 0.62) !important;
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.28);
}

.portal-main #order-standard_cart .products .product div.product-desc,
.portal-main #order-standard_cart .products .product div.product-desc *,
.portal-main #order-standard_cart .products .product .description,
.portal-main #order-standard_cart .products .product .description *,
.portal-main #order-standard_cart .products .product p,
.portal-main #order-standard_cart .products .product small {
  color: var(--portal-muted) !important;
}

.portal-main #order-standard_cart .products .product .product-title,
.portal-main #order-standard_cart .products .product header span,
.portal-main #order-standard_cart .products .product header h3,
.portal-main #order-standard_cart .products .product header h4 {
  color: var(--portal-text) !important;
}

.portal-main #order-standard_cart .products .product div.product-pricing,
.portal-main #order-standard_cart .products .product .product-price,
.portal-main #order-standard_cart .products .product .price,
.portal-main #order-standard_cart .products .product .pricing {
  color: var(--portal-text) !important;
  font-weight: 800;
}

.portal-main #order-standard_cart .products .product div.product-pricing span,
.portal-main #order-standard_cart .products .product .product-price span,
.portal-main #order-standard_cart .products .product .cycle,
.portal-main #order-standard_cart .products .product .price-cycle {
  color: var(--portal-muted) !important;
  font-weight: 700;
}

.portal-main #order-standard_cart .products .product div.product-pricing span.price,
.portal-main #order-standard_cart .products .product .product-price span.price {
  color: var(--portal-text) !important;
}

.portal-main #order-standard_cart .products .product .btn,
.portal-main #order-standard_cart .products .product .btn-success,
.portal-main #order-standard_cart .products .product a.btn {
  color: #fff !important;
  background: var(--portal-primary) !important;
  border-color: var(--portal-primary) !important;
}

.portal-main #order-standard_cart .btn-success {
  color: #fff !important;
  background: #128542 !important;
  border-color: #128542 !important;
}

.portal-main #order-standard_cart .products .product .btn:hover,
.portal-main #order-standard_cart .products .product a.btn:hover {
  color: #fff !important;
  background: #006fe6 !important;
  border-color: #006fe6 !important;
}

[data-portal-theme="dark"] .portal-main #order-standard_cart .products .product div.product-desc,
[data-portal-theme="dark"] .portal-main #order-standard_cart .products .product div.product-desc *,
[data-portal-theme="dark"] .portal-main #order-standard_cart .products .product .description,
[data-portal-theme="dark"] .portal-main #order-standard_cart .products .product .description *,
[data-portal-theme="dark"] .portal-main #order-standard_cart .products .product p,
[data-portal-theme="dark"] .portal-main #order-standard_cart .products .product small {
  color: #c4cfdd !important;
}

[data-portal-theme="dark"] .portal-main #order-standard_cart .products .product div.product-pricing span:not(.price),
[data-portal-theme="dark"] .portal-main #order-standard_cart .products .product .product-price span:not(.price),
[data-portal-theme="dark"] .portal-main #order-standard_cart .products .product .cycle,
[data-portal-theme="dark"] .portal-main #order-standard_cart .products .product .price-cycle {
  color: #9aa6b2 !important;
}

@media (prefers-color-scheme: dark) {
  [data-portal-theme="system"] .portal-main #order-standard_cart .products .product div.product-desc,
  [data-portal-theme="system"] .portal-main #order-standard_cart .products .product div.product-desc *,
  [data-portal-theme="system"] .portal-main #order-standard_cart .products .product .description,
  [data-portal-theme="system"] .portal-main #order-standard_cart .products .product .description *,
  [data-portal-theme="system"] .portal-main #order-standard_cart .products .product p,
  [data-portal-theme="system"] .portal-main #order-standard_cart .products .product small {
    color: #c4cfdd !important;
  }

  [data-portal-theme="system"] .portal-main #order-standard_cart .products .product div.product-pricing span:not(.price),
  [data-portal-theme="system"] .portal-main #order-standard_cart .products .product .product-price span:not(.price),
  [data-portal-theme="system"] .portal-main #order-standard_cart .products .product .cycle,
  [data-portal-theme="system"] .portal-main #order-standard_cart .products .product .price-cycle {
    color: #9aa6b2 !important;
  }
}

.portal-main #order-standard_cart .product-info,
.portal-main #order-standard_cart .panel-addon,
.portal-main #order-standard_cart .panel-addon .panel-body,
.portal-main #order-standard_cart .panel-addon .card-body,
.portal-main #order-standard_cart .panel-price,
.portal-main #order-standard_cart span.primary-bg-color {
  color: var(--portal-text) !important;
  background: var(--portal-surface-soft) !important;
  border-color: var(--portal-border) !important;
}

.portal-main #order-standard_cart .product-info {
  border: 1px solid var(--portal-border) !important;
  border-radius: var(--portal-radius);
}

.portal-main #order-standard_cart .product-info .product-title,
.portal-main #order-standard_cart .panel-addon label,
.portal-main #order-standard_cart .panel-addon strong,
.portal-main #order-standard_cart .panel-addon b {
  color: var(--portal-text) !important;
}

.portal-main #order-standard_cart .product-info p,
.portal-main #order-standard_cart .product-info .product-desc,
.portal-main #order-standard_cart .panel-addon p,
.portal-main #order-standard_cart .panel-addon small {
  color: var(--portal-muted) !important;
}

.portal-main #order-standard_cart .panel-addon {
  border: 1px solid var(--portal-border) !important;
  border-radius: var(--portal-radius);
  overflow: hidden;
}

.portal-main #order-standard_cart .panel-price {
  background: var(--portal-table-head) !important;
  border-top: 1px solid var(--portal-border) !important;
  border-bottom: 1px solid var(--portal-border) !important;
  font-weight: 800;
}

.portal-main #order-standard_cart span.primary-bg-color {
  color: var(--portal-primary) !important;
  border: 1px solid var(--portal-border);
  border-radius: 4px;
  font-weight: 800;
}

.portal-main #order-standard_cart .sub-heading span,
.portal-main #order-standard_cart .sub-heading-borderless span {
  color: var(--portal-primary) !important;
  background: var(--portal-surface) !important;
}

.portal-main #order-standard_cart label,
.portal-main #order-standard_cart .field-container label,
.portal-main #order-standard_cart .form-group label {
  color: var(--portal-muted) !important;
}

.portal-main #order-standard_cart .order-summary h2,
.portal-main #order-standard_cart .order-summary h3,
.portal-main #order-standard_cart .order-summary h4,
.portal-main #order-standard_cart .order-summary .font-size-30 {
  color: var(--portal-text) !important;
}

.portal-main #order-standard_cart .panel-add,
.portal-main #order-standard_cart .panel-addon .panel-add {
  color: #fff !important;
  background: #128542 !important;
  border-color: #128542 !important;
  font-weight: 800;
}

.portal-main #order-standard_cart .panel-add *,
.portal-main #order-standard_cart .panel-addon .panel-add * {
  color: #fff !important;
}

.portal-main #order-standard_cart .empty-cart,
.portal-main #order-standard_cart .view-cart-empty,
.portal-main #order-standard_cart .total-due-today,
.portal-main #order-standard_cart .recurring-totals,
.portal-main #order-standard_cart .summary-totals {
  color: var(--portal-text) !important;
}

.portal-main #order-standard_cart .text-muted,
.portal-main #order-standard_cart small,
.portal-main #order-standard_cart .summary-container .clearfix,
.portal-main #order-standard_cart .order-summary span {
  color: var(--portal-muted) !important;
}

.portal-main #order-standard_cart .view-cart-items .item,
.portal-main #order-standard_cart .view-cart-items .item > div,
.portal-main #order-standard_cart .view-cart-items .item .item-title,
.portal-main #order-standard_cart .view-cart-items .item .item-price {
  min-width: 0;
  color: var(--portal-text) !important;
  background: var(--portal-surface-soft) !important;
  border-color: var(--portal-border) !important;
}

.portal-main #order-standard_cart .view-cart-items .item {
  border-left: 3px solid var(--portal-primary) !important;
  border-radius: var(--portal-radius);
  box-shadow: var(--portal-shadow);
  overflow: hidden;
}

.portal-main #order-standard_cart .view-cart-items .item-title,
.portal-main #order-standard_cart .view-cart-items .item-title *,
.portal-main #order-standard_cart .view-cart-items .item-price,
.portal-main #order-standard_cart .view-cart-items .item-price * {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.portal-main #order-standard_cart .view-cart-items .item-title,
.portal-main #order-standard_cart .view-cart-items .item-title a {
  color: var(--portal-text) !important;
  font-weight: 800;
}

.portal-main #order-standard_cart .view-cart-items .item .item-group,
.portal-main #order-standard_cart .view-cart-items .item .item-domain,
.portal-main #order-standard_cart .view-cart-items .item .item-domain a,
.portal-main #order-standard_cart .view-cart-items .item small {
  color: var(--portal-muted) !important;
}

.portal-main #order-standard_cart .view-cart-items .item-price {
  font-weight: 800;
}

.portal-main #order-standard_cart .view-cart-items .item-price .cycle,
.portal-main #order-standard_cart .view-cart-items .item-price small:not(.yridc-nat-prorata-cart-item-note) {
  color: var(--portal-muted) !important;
  font-weight: 700;
}

.portal-main #order-standard_cart .product-info {
  border-left: 4px solid var(--portal-primary) !important;
  background: linear-gradient(135deg, rgba(27, 132, 255, 0.14), transparent 62%), var(--portal-surface-soft) !important;
  box-shadow: var(--portal-shadow);
}

.portal-main #order-standard_cart .product-info .product-title,
.portal-main #order-standard_cart .product-info h1,
.portal-main #order-standard_cart .product-info h2,
.portal-main #order-standard_cart .product-info h3,
.portal-main #order-standard_cart .product-info strong {
  color: var(--portal-text) !important;
  font-weight: 900;
}

.portal-main #order-standard_cart .yridc-prorata-date-note,
.portal-main #order-standard_cart .yridc-nat-prorata-order-note,
.portal-main #order-standard_cart .yridc-server-advanced-toggle {
  color: var(--portal-text) !important;
  background: var(--portal-table-head) !important;
  border: 1px solid rgba(27, 132, 255, 0.36) !important;
  border-left: 4px solid var(--portal-primary) !important;
  border-radius: var(--portal-radius) !important;
  box-shadow: var(--portal-shadow);
  overflow-wrap: anywhere;
}

.portal-main #order-standard_cart .yridc-prorata-date-note *,
.portal-main #order-standard_cart .yridc-nat-prorata-order-note *,
.portal-main #order-standard_cart .yridc-server-advanced-toggle * {
  color: inherit !important;
}

.portal-main #order-standard_cart .yridc-prorata-date-note strong,
.portal-main #order-standard_cart .yridc-nat-prorata-order-note strong,
.portal-main #order-standard_cart .yridc-server-advanced-toggle strong {
  color: var(--portal-text) !important;
  font-weight: 900;
}

.portal-main #order-standard_cart .yridc-server-advanced-toggle .btn,
.portal-main #order-standard_cart .yridc-server-advanced-toggle button {
  color: #fff !important;
  background: var(--portal-primary) !important;
  border-color: var(--portal-primary) !important;
  font-weight: 800;
}

.portal-main #order-standard_cart .yridc-prorata-summary-note,
.portal-main #order-standard_cart .yridc-nat-prorata-summary-note,
.portal-main #order-standard_cart .yridc-nat-prorata-cart-item-note,
.portal-main #order-standard_cart small.yridc-nat-prorata-cart-item-note {
  color: var(--portal-text) !important;
  background: var(--portal-table-head) !important;
  border: 1px solid rgba(27, 132, 255, 0.28) !important;
  border-radius: 6px;
  padding: 6px 8px;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.portal-main #order-standard_cart .yridc-nat-summary-breakdown {
  margin: 12px 0;
  padding: 12px;
  color: var(--portal-text);
  background: rgba(15, 23, 42, 0.62);
  border: 1px solid rgba(27, 132, 255, 0.28);
  border-radius: 8px;
}

.portal-main #order-standard_cart .yridc-nat-summary-title,
.portal-main #order-standard_cart .yridc-nat-summary-addon-title {
  margin-bottom: 8px;
  color: var(--portal-text);
  font-weight: 900;
}

.portal-main #order-standard_cart .yridc-nat-summary-addon-title {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid var(--portal-border);
}

.portal-main #order-standard_cart .yridc-nat-summary-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
  margin: 6px 0;
  color: var(--portal-muted);
}

.portal-main #order-standard_cart .yridc-nat-summary-row strong {
  color: var(--portal-text);
  text-align: right;
  overflow-wrap: anywhere;
}

.portal-main #order-standard_cart .yridc-nat-summary-emphasis strong {
  color: var(--portal-primary);
}

.portal-main #order-standard_cart .yridc-nat-summary-note {
  margin-top: 6px;
  color: var(--portal-muted);
  font-size: 12px;
  line-height: 1.5;
}

.portal-main #order-standard_cart .yridc-nat-summary-formula {
  margin-top: 12px;
  padding: 10px;
  color: var(--portal-text);
  background: rgba(27, 132, 255, 0.14);
  border: 1px solid rgba(27, 132, 255, 0.36);
  border-radius: 6px;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

@media (max-width: 520px) {
  .portal-main #order-standard_cart .yridc-nat-summary-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .portal-main #order-standard_cart .yridc-nat-summary-row strong {
    text-align: left;
  }
}

.portal-main #order-standard_cart input,
.portal-main #order-standard_cart select,
.portal-main #order-standard_cart textarea,
.portal-main input[disabled],
.portal-main input[readonly],
.portal-main textarea[disabled],
.portal-main textarea[readonly] {
  color: var(--portal-text) !important;
  background: var(--portal-surface-soft) !important;
  border-color: var(--portal-border) !important;
}

.portal-main #order-standard_cart input::placeholder,
.portal-main .form-control::placeholder {
  color: var(--portal-muted) !important;
  opacity: 1;
}

.portal-main .form-control,
.portal-main input.form-control,
.portal-main select.form-control,
.portal-main textarea.form-control,
.portal-main input.field,
.portal-main select.field,
.portal-main textarea.field,
.portal-main .custom-select,
.portal-main .custom-file-label,
.portal-main .input-group-text,
.portal-main .intl-tel-input .selected-flag,
.portal-main .intl-tel-input .country-list {
  color: var(--portal-text) !important;
  background-color: var(--portal-surface-soft) !important;
  border-color: var(--portal-border) !important;
}

.portal-main .form-control:focus,
.portal-main input.field:focus,
.portal-main textarea.field:focus,
.portal-main select.field:focus {
  color: var(--portal-text) !important;
  background-color: var(--portal-surface) !important;
  border-color: var(--portal-primary) !important;
  box-shadow: 0 0 0 0.16rem rgba(27, 132, 255, 0.18) !important;
}

.portal-main .input-group {
  color: var(--portal-text) !important;
}

.portal-main .input-group-prepend,
.portal-main .input-group-append,
.portal-main .field-icon {
  color: var(--portal-text) !important;
  background: var(--portal-surface-soft) !important;
  border-color: var(--portal-border) !important;
}

.portal-main .input-group-prepend i,
.portal-main .input-group-append i,
.portal-main .field-icon i {
  color: var(--portal-muted) !important;
}

.portal-main .custom-file-label::after {
  color: var(--portal-text) !important;
  background: var(--portal-table-head) !important;
  border-color: var(--portal-border) !important;
}

.portal-main .bootstrap-switch,
.portal-main .bootstrap-switch .bootstrap-switch-container,
.portal-main .bootstrap-switch .bootstrap-switch-label {
  color: var(--portal-text) !important;
  background: var(--portal-surface-soft) !important;
  border-color: var(--portal-border) !important;
}

.portal-main .announcements .announcement article,
.portal-main .announcement article,
.portal-main .markdown-content,
.portal-main .kb-article-content {
  color: var(--portal-text) !important;
  background: var(--portal-surface-soft) !important;
  border: 1px solid var(--portal-border);
  border-radius: var(--portal-radius);
}

.portal-main .announcements .announcement article,
.portal-main .announcement article {
  padding: 18px 20px;
  line-height: 1.72;
}

.portal-main .announcements .announcement article *,
.portal-main .announcement article * {
  color: inherit !important;
}

.portal-main .md-editor,
.portal-main .md-editor > .md-header,
.portal-main .md-editor > textarea,
.portal-main .md-editor > .md-preview,
.portal-main .md-editor > .md-footer,
.portal-main .CodeMirror,
.portal-main .CodeMirror-scroll,
.portal-main .editor-toolbar,
.portal-main .editor-preview,
.portal-main .editor-preview-side,
.portal-main .EasyMDEContainer .CodeMirror {
  color: var(--portal-text) !important;
  background: var(--portal-surface) !important;
  border-color: var(--portal-border) !important;
}

.portal-main .md-editor > .md-header,
.portal-main .editor-toolbar {
  background: var(--portal-table-head) !important;
  border-bottom: 1px solid var(--portal-border) !important;
}

.portal-main .md-editor > .md-footer {
  background: var(--portal-table-head) !important;
  border-top: 1px solid var(--portal-border) !important;
}

.portal-main .md-editor .btn,
.portal-main .editor-toolbar button,
.portal-main .editor-toolbar a {
  color: var(--portal-text) !important;
  background: var(--portal-table-head) !important;
  border-color: var(--portal-border) !important;
}

.portal-main .md-editor .btn:hover,
.portal-main .editor-toolbar button:hover,
.portal-main .editor-toolbar a:hover {
  color: #fff !important;
  background: var(--portal-primary) !important;
}

.portal-main .CodeMirror-cursor {
  border-left-color: var(--portal-text) !important;
}

.portal-main .CodeMirror-placeholder,
.portal-main .editor-statusbar,
.portal-main .md-footer,
.portal-main .markdown-editor-status,
.portal-main .md-footer .small-font {
  color: var(--portal-muted) !important;
}

.portal-main .bg-white {
  color: var(--portal-text);
  background-color: var(--portal-surface) !important;
}

body.portal-body .modal-backdrop {
  background-color: #05070a;
}

body.portal-body .modal-content {
  color: var(--portal-text);
  background: var(--portal-surface);
  border: 1px solid var(--portal-border);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
}

body.portal-body .modal-header,
body.portal-body .modal-footer {
  color: var(--portal-text);
  background: var(--portal-table-head);
  border-color: var(--portal-border);
}

body.portal-body .modal-body {
  color: var(--portal-text);
  background: var(--portal-surface);
}

body.portal-body .modal-title,
body.portal-body .modal label,
body.portal-body .modal .control-label,
body.portal-body .modal .help-block,
body.portal-body .modal p,
body.portal-body .modal span {
  color: var(--portal-text);
}

body.portal-body .modal .text-muted,
body.portal-body .modal small {
  color: var(--portal-muted) !important;
}

body.portal-body .modal .close {
  color: var(--portal-muted);
  opacity: 1;
  text-shadow: none;
}

body.portal-body .modal .close:hover {
  color: #fff;
}

body.portal-body .modal .form-control,
body.portal-body .modal input,
body.portal-body .modal select,
body.portal-body .modal textarea,
body.portal-body .modal .input-group-addon,
body.portal-body .modal .input-group-text {
  color: var(--portal-text) !important;
  background-color: var(--portal-surface-soft) !important;
  border-color: var(--portal-border) !important;
}

body.portal-body .modal .form-control:focus,
body.portal-body .modal input:focus,
body.portal-body .modal textarea:focus {
  color: var(--portal-text) !important;
  background-color: var(--portal-surface) !important;
  border-color: var(--portal-primary) !important;
  box-shadow: 0 0 0 0.16rem rgba(27, 132, 255, 0.18) !important;
}

body.portal-body .modal .btn-default,
body.portal-body .modal .btn-secondary,
body.portal-body .modal button.close {
  color: var(--portal-text);
  background: var(--portal-surface-soft);
  border-color: var(--portal-border);
}

body.portal-body .modal .btn-default:hover,
body.portal-body .modal .btn-secondary:hover {
  color: #fff;
  background: #2b3442;
  border-color: #3a4658;
}

body.portal-body .modal .btn-primary {
  color: #fff;
  background: var(--portal-primary);
  border-color: var(--portal-primary);
}

.portal-main code {
  color: var(--portal-code-text);
  background: var(--portal-code-bg);
  border-radius: 5px;
  padding: 2px 6px;
  font-size: 0.92em;
  font-weight: 600;
  word-break: break-word;
}

.portal-main .nav-tabs {
  border-bottom-color: var(--portal-border);
}

.portal-main .nav-tabs .nav-link {
  color: var(--portal-muted);
  background: transparent;
  border-color: transparent;
}

.portal-main .nav-tabs .nav-link:hover {
  color: var(--portal-primary);
  border-color: transparent;
}

.portal-main .nav-tabs .nav-link.active,
.portal-main .nav-tabs .nav-item.show .nav-link {
  color: var(--portal-text);
  background: var(--portal-surface);
  border-color: var(--portal-border) var(--portal-border) var(--portal-surface);
}

.portal-main .responsive-tabs-sm-connector .channel,
.portal-main .responsive-tabs-sm-connector .bottom-border {
  border-color: var(--portal-border);
  background: var(--portal-surface);
}

.portal-main .product-details-tab-container {
  border: 1px solid var(--portal-border);
  border-top: 0;
  border-radius: 0 0 var(--portal-radius) var(--portal-radius);
  box-shadow: var(--portal-shadow);
}

.portal-main .product-details {
  color: var(--portal-text);
}

.portal-main .product-details .yridc-service-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  height: 100%;
  text-align: left;
}

.portal-main .product-details .yridc-service-fact {
  display: flex;
  min-width: 0;
  min-height: 74px;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  padding: 12px 14px;
  color: var(--portal-text) !important;
  background: var(--portal-surface-soft);
  border: 1px solid var(--portal-border);
  border-radius: var(--portal-radius);
}

.portal-main .product-details .yridc-service-fact-wide {
  grid-column: 1 / -1;
}

.portal-main .product-details .yridc-service-fact-label,
.portal-main .product-details .yridc-service-fact-value {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
  letter-spacing: 0;
}

.portal-main .product-details .yridc-service-fact-label {
  color: var(--portal-muted) !important;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.25;
}

.portal-main .product-details .yridc-service-fact-value {
  color: var(--portal-text) !important;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.35;
}

.portal-main .product-details .product-status {
  overflow: hidden;
  color: var(--portal-text);
  background: var(--portal-surface-soft);
  border: 1px solid var(--portal-border);
  border-radius: var(--portal-radius);
}

.portal-main .product-details .product-icon {
  color: var(--portal-text);
  background: var(--portal-surface-soft);
}

.portal-main .product-details .product-icon h3,
.portal-main .product-details .product-icon h4 {
  color: var(--portal-text);
}

.portal-main .product-details .product-icon h4 {
  color: var(--portal-muted);
}

.portal-main .product-details .product-status-text {
  color: #fff;
  font-weight: 800;
}

.portal-main .module-client-area .yridc-client {
  text-align: left;
}

.portal-main .yridc-client {
  color: var(--portal-text);
}

.portal-main .yridc-client-title {
  margin: 6px 0 8px;
  text-align: center;
  font-size: 24px;
  font-weight: 800;
}

.portal-main .yridc-client-section-title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 20px 0 12px;
  color: var(--portal-text);
  font-size: 16px;
  font-weight: 800;
}

.portal-main .yridc-client-section-title::after {
  content: "";
  flex: 1 1 auto;
  height: 1px;
  background: var(--portal-border);
}

.portal-main .yridc-table-wrap {
  overflow-x: auto;
  margin-bottom: 16px;
  border: 1px solid var(--portal-border);
  border-radius: var(--portal-radius);
  background: var(--portal-surface);
  box-shadow: var(--portal-shadow);
}

.portal-main .yridc-client .table {
  min-width: 760px;
  margin-bottom: 0;
  border-collapse: separate;
  border-spacing: 0;
}

.portal-main .yridc-client .table th,
.portal-main .yridc-client .table td {
  padding: 13px 16px;
  vertical-align: middle;
  border-top: 0;
  border-bottom: 1px solid var(--portal-border);
}

.portal-main .yridc-client .table tr:last-child th,
.portal-main .yridc-client .table tr:last-child td {
  border-bottom: 0;
}

.portal-main .yridc-client .table th {
  width: 18%;
  font-weight: 800;
  white-space: nowrap;
}

.portal-main .yridc-client .table td {
  min-width: 150px;
}

.portal-main .yridc-action-row {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 18px;
}

.portal-main .yridc-rule-form {
  gap: 8px;
  align-items: center;
  padding: 14px;
  background: var(--portal-surface);
  border: 1px solid var(--portal-border);
  border-radius: var(--portal-radius);
  box-shadow: var(--portal-shadow);
}

.portal-main .yridc-rule-form .form-control {
  margin-right: 8px;
}

.portal-main .btn-default,
.portal-main .btn-light,
.portal-main .btn-outline-primary {
  color: var(--portal-text);
  background: var(--portal-surface);
  border-color: var(--portal-border);
}

.portal-main .btn-primary {
  color: #fff;
  background: var(--portal-primary);
  border-color: var(--portal-primary);
}

.portal-dashboard {
  display: grid;
  gap: 18px;
}

.portal-hero-panel {
  display: flex;
  justify-content: space-between;
  gap: 22px;
  padding: 24px;
  background: var(--portal-surface);
  border: 1px solid var(--portal-border);
  border-radius: var(--portal-radius);
  box-shadow: var(--portal-shadow);
}

.portal-kicker {
  color: var(--portal-primary);
  font-weight: 700;
  font-size: 13px;
  margin-bottom: 6px;
}

.portal-hero-panel h1 {
  font-size: 26px;
  line-height: 1.25;
  margin: 0 0 8px;
  color: var(--portal-text);
}

.portal-hero-panel p {
  margin: 0;
  color: var(--portal-muted);
}

.portal-balance {
  min-width: 190px;
  padding: 16px;
  border-radius: var(--portal-radius);
  background: linear-gradient(135deg, rgba(27, 132, 255, 0.12), rgba(23, 198, 83, 0.1));
  border: 1px solid rgba(27, 132, 255, 0.13);
}

.portal-balance span,
.portal-balance strong,
.portal-balance a {
  display: block;
}

.portal-balance span {
  color: var(--portal-muted);
  font-size: 13px;
}

.portal-balance strong {
  font-size: 24px;
  margin: 4px 0 10px;
}

.portal-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.portal-stat-card,
.portal-card {
  background: var(--portal-surface);
  border: 1px solid var(--portal-border);
  border-radius: var(--portal-radius);
  box-shadow: var(--portal-shadow);
}

.portal-stat-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 4px 12px;
  padding: 16px;
  color: var(--portal-text);
}

.portal-stat-card:hover {
  color: var(--portal-text);
  text-decoration: none;
  border-color: rgba(27, 132, 255, 0.4);
}

.portal-stat-icon {
  grid-row: span 2;
  width: 42px;
  height: 42px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
}

.portal-stat-blue { background: rgba(27, 132, 255, 0.12); color: var(--portal-primary); }
.portal-stat-amber { background: rgba(246, 192, 0, 0.18); color: #a77d00; }
.portal-stat-red { background: rgba(248, 40, 90, 0.12); color: var(--portal-danger); }
.portal-stat-green { background: rgba(23, 198, 83, 0.12); color: var(--portal-success); }

.portal-stat-number {
  font-size: 24px;
  font-weight: 800;
  line-height: 1;
}

.portal-stat-label {
  color: var(--portal-muted);
  font-size: 13px;
}

.portal-card-grid,
.portal-panels {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(280px, 0.8fr);
  gap: 16px;
}

.portal-card {
  padding: 18px;
}

.portal-card-span {
  min-width: 0;
}

.portal-card-head {
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.portal-card-head h2 {
  font-size: 17px;
  margin: 0;
  color: var(--portal-text);
}

.portal-card-head p {
  margin: 5px 0 0;
  color: var(--portal-muted);
  font-size: 13px;
}

.portal-card-head a,
.portal-primary-link {
  color: var(--portal-primary);
  font-weight: 600;
  font-size: 13px;
}

.portal-badge {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
}

.portal-badge-success { background: rgba(18, 133, 66, 0.14); color: #0f6f38; }
.portal-badge-warning { background: rgba(246, 192, 0, 0.16); color: #9c7400; }
.portal-badge-danger { background: rgba(248, 40, 90, 0.12); color: var(--portal-danger); }
.portal-badge-info { background: rgba(27, 132, 255, 0.12); color: var(--portal-primary); }

[data-portal-theme="dark"] .portal-badge-success {
  background: rgba(23, 198, 83, 0.16);
  color: #b7f6cb;
}

@media (prefers-color-scheme: dark) {
  [data-portal-theme="system"] .portal-badge-success {
    background: rgba(23, 198, 83, 0.16);
    color: #b7f6cb;
  }
}

.portal-bind-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}

.portal-bind-item {
  gap: 12px;
  padding: 13px;
  border: 1px solid var(--portal-border);
  border-radius: var(--portal-radius);
  min-width: 0;
}

.portal-bind-item i {
  color: var(--portal-primary);
  font-size: 20px;
}

.portal-bind-item strong,
.portal-bind-item span {
  display: block;
  overflow-wrap: normal;
  word-break: keep-all;
}

.portal-bind-item span {
  color: var(--portal-muted);
  font-size: 12px;
}

.portal-bind-item a,
.portal-bind-item .portal-badge {
  margin-left: auto;
  white-space: nowrap;
}

.portal-renewal strong {
  display: block;
  font-size: 38px;
  line-height: 1;
  margin-bottom: 8px;
}

.portal-renewal span {
  display: block;
  color: var(--portal-muted);
  margin-bottom: 14px;
}

.portal-addon-block {
  min-width: 0;
}

.portal-panels {
  align-items: start;
}

.portal-whmcs-panel .portal-card-head h2 i {
  color: var(--portal-primary);
  margin-right: 7px;
}

.portal-whmcs-panel {
  min-width: 0;
  overflow: hidden;
}

.portal-whmcs-panel .portal-card-head,
.portal-whmcs-panel .portal-list-item,
.portal-whmcs-panel .portal-list-item > span {
  min-width: 0;
}

.portal-whmcs-panel .portal-list-item > span {
  flex: 1 1 auto;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.portal-whmcs-panel .portal-list-item .portal-badge,
.portal-whmcs-panel .portal-card-head > a {
  flex: 0 0 auto;
}

.portal-whmcs-panel .div-service-item {
  display: grid;
  grid-template-columns: 55px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-width: 0;
}

.portal-whmcs-panel .div-service-status,
.portal-whmcs-panel .div-service-buttons {
  min-width: 0;
}

.portal-whmcs-panel .div-service-name {
  min-width: 0;
  max-width: 100%;
}

.portal-whmcs-panel .div-service-name .font-weight-bold,
.portal-whmcs-panel .div-service-name .text-domain {
  display: block;
  max-width: 100%;
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.portal-whmcs-panel .div-service-buttons {
  justify-self: end;
}

.portal-whmcs-panel .div-service-buttons .btn {
  white-space: nowrap;
}

.portal-panel-body {
  color: var(--portal-text);
}

.portal-list {
  display: grid;
  gap: 8px;
}

.portal-list-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 0;
  color: var(--portal-text);
  border-top: 1px solid var(--portal-border);
}

.portal-list-item:hover {
  color: var(--portal-primary);
  text-decoration: none;
}

.portal-sidebar a[menuItemName="yridc-legacy-eligibility"],
.portal-sidebar a[href*="m=yridc_legacy_eligibility"],
.portal-main a[menuItemName="yridc-legacy-eligibility"],
.portal-main a[href*="m=yridc_legacy_eligibility"] {
  color: #ffd166 !important;
  font-weight: 900 !important;
  background: linear-gradient(135deg, rgba(246, 192, 0, 0.2), rgba(27, 132, 255, 0.12)) !important;
  border-color: rgba(246, 192, 0, 0.48) !important;
  box-shadow: inset 3px 0 0 #f6c000;
}

.portal-sidebar a[menuItemName="yridc-legacy-eligibility"]:hover,
.portal-sidebar a[href*="m=yridc_legacy_eligibility"]:hover,
.portal-main a[menuItemName="yridc-legacy-eligibility"]:hover,
.portal-main a[href*="m=yridc_legacy_eligibility"]:hover {
  color: #fff3bf !important;
  background: linear-gradient(135deg, rgba(246, 192, 0, 0.28), rgba(27, 132, 255, 0.18)) !important;
  text-decoration: none;
}

.portal-list-item i {
  color: var(--portal-muted);
  margin-right: 7px;
}

.portal-panel-footer {
  margin-top: 12px;
  padding-top: 12px;
  color: var(--portal-muted);
  border-top: 1px solid var(--portal-border);
}

.portal-home-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.88fr);
  gap: 24px;
  align-items: stretch;
  padding: 34px 0 18px;
}

.portal-home-copy,
.portal-network-visual,
.portal-home-section {
  border: 1px solid var(--portal-border);
  border-radius: var(--portal-radius);
  background: var(--portal-surface);
  box-shadow: var(--portal-shadow);
}

.portal-home-copy {
  padding: 34px;
}

.portal-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--portal-primary);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0;
  margin-bottom: 12px;
}

.portal-home-copy h1 {
  margin: 0 0 14px;
  color: var(--portal-text);
  font-size: 38px;
  line-height: 1.16;
  font-weight: 800;
  letter-spacing: 0;
}

.portal-home-copy p {
  max-width: 680px;
  color: var(--portal-muted);
  font-size: 16px;
  line-height: 1.72;
  margin-bottom: 24px;
}

.portal-home-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.portal-btn-primary,
.portal-btn-secondary,
.portal-btn-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 9px 16px;
  border-radius: var(--portal-radius);
  font-weight: 700;
  text-decoration: none;
  border: 1px solid transparent;
}

.portal-btn-primary {
  color: #fff;
  background: var(--portal-primary);
  border-color: var(--portal-primary);
}

.portal-main .portal-btn-primary,
.portal-main .portal-btn-primary:hover,
.portal-main .portal-btn-primary:focus {
  color: #fff !important;
}

.portal-btn-secondary {
  color: var(--portal-primary);
  background: rgba(27, 132, 255, 0.1);
  border-color: rgba(27, 132, 255, 0.18);
}

.portal-main .portal-btn-secondary,
.portal-main .portal-btn-secondary:hover,
.portal-main .portal-btn-secondary:focus {
  color: var(--portal-primary) !important;
}

.portal-btn-ghost {
  color: var(--portal-text);
  background: var(--portal-surface);
  border-color: var(--portal-border);
}

.portal-btn-primary:hover,
.portal-btn-secondary:hover,
.portal-btn-ghost:hover {
  text-decoration: none;
  filter: brightness(0.98);
}

.portal-network-visual {
  overflow: hidden;
  min-height: 334px;
}

.portal-console-bar {
  display: flex;
  align-items: center;
  gap: 7px;
  height: 42px;
  padding: 0 14px;
  border-bottom: 1px solid var(--portal-border);
  color: var(--portal-muted);
  font-size: 13px;
}

.portal-console-bar span {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: var(--portal-border);
}

.portal-console-bar span:nth-child(1) {
  background: var(--portal-danger);
}

.portal-console-bar span:nth-child(2) {
  background: var(--portal-warning);
}

.portal-console-bar span:nth-child(3) {
  background: var(--portal-success);
}

.portal-console-bar strong {
  margin-left: 6px;
  color: var(--portal-text);
}

.portal-map-plane {
  position: relative;
  min-height: 214px;
  margin: 16px;
  border-radius: var(--portal-radius);
  background:
    linear-gradient(90deg, rgba(27, 132, 255, 0.08) 1px, transparent 1px),
    linear-gradient(0deg, rgba(27, 132, 255, 0.08) 1px, transparent 1px),
    radial-gradient(circle at 28% 40%, rgba(27, 132, 255, 0.16), transparent 24%),
    radial-gradient(circle at 72% 62%, rgba(23, 198, 83, 0.12), transparent 26%),
    var(--portal-bg);
  background-size: 38px 38px, 38px 38px, auto, auto, auto;
  border: 1px solid var(--portal-border);
}

.portal-map-node {
  position: absolute;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 9px;
  color: var(--portal-text);
  background: var(--portal-surface);
  border: 1px solid var(--portal-border);
  border-radius: 999px;
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
  font-size: 12px;
  z-index: 2;
}

.portal-map-node i {
  color: var(--portal-success);
  font-size: 8px;
}

.node-hk {
  left: 50%;
  top: 44%;
}

.node-sg {
  left: 44%;
  top: 68%;
}

.node-jp {
  left: 67%;
  top: 33%;
}

.node-us {
  left: 14%;
  top: 42%;
}

.node-eu {
  right: 12%;
  top: 63%;
}

.portal-map-line {
  position: absolute;
  height: 2px;
  transform-origin: left center;
  background: linear-gradient(90deg, rgba(27, 132, 255, 0), rgba(27, 132, 255, 0.68), rgba(27, 132, 255, 0));
  z-index: 1;
}

.line-a {
  left: 23%;
  top: 50%;
  width: 35%;
  transform: rotate(4deg);
}

.line-b {
  left: 52%;
  top: 48%;
  width: 21%;
  transform: rotate(-25deg);
}

.line-c {
  left: 51%;
  top: 58%;
  width: 32%;
  transform: rotate(18deg);
}

.portal-console-metrics {
  display: grid;
  grid-template-columns: 0.8fr 1.35fr 1fr;
  gap: 1px;
  border-top: 1px solid var(--portal-border);
  background: var(--portal-border);
}

.portal-console-metrics div {
  padding: 13px 14px;
  background: var(--portal-surface);
}

.portal-console-metrics span,
.portal-price-card small,
.portal-product-group span,
.portal-location-grid em {
  display: block;
  color: var(--portal-muted);
  font-size: 12px;
  font-style: normal;
}

.portal-console-metrics strong {
  display: block;
  color: var(--portal-text);
  margin-top: 4px;
  font-size: 15px;
}

.portal-home-section {
  margin: 22px 0;
  padding: 24px;
}

.portal-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.portal-section-head h2 {
  margin: 0 0 6px;
  color: var(--portal-text);
  font-size: 22px;
  line-height: 1.25;
  font-weight: 800;
  letter-spacing: 0;
}

.portal-section-head p {
  margin: 0;
  color: var(--portal-muted);
}

.portal-section-head a {
  white-space: nowrap;
  color: var(--portal-primary);
  font-weight: 700;
}

.portal-pricing-grid,
.portal-capability-grid,
.portal-location-grid,
.portal-product-group-grid,
.portal-resource-grid {
  display: grid;
  gap: 14px;
}

.portal-pricing-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.portal-price-card,
.portal-capability-card,
.portal-product-group,
.portal-resource-grid a {
  border: 1px solid var(--portal-border);
  border-radius: var(--portal-radius);
  background: var(--portal-surface);
}

.portal-price-card {
  position: relative;
  padding: 18px;
}

.portal-price-card.featured {
  border-color: rgba(27, 132, 255, 0.45);
  box-shadow: 0 10px 28px rgba(27, 132, 255, 0.12);
}

.portal-price-card h3,
.portal-capability-card h3 {
  margin: 12px 0 10px;
  color: var(--portal-text);
  font-size: 17px;
  font-weight: 800;
}

.portal-price-card strong {
  display: block;
  color: var(--portal-text);
  font-size: 24px;
  margin-bottom: 14px;
}

.portal-price-card ul {
  list-style: none;
  padding: 0;
  margin: 0 0 18px;
  display: grid;
  gap: 9px;
  color: var(--portal-muted);
}

.portal-price-card li {
  display: flex;
  align-items: center;
  gap: 8px;
}

.portal-price-card li i {
  color: var(--portal-primary);
  width: 15px;
}

.portal-price-card > a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  color: var(--portal-primary);
  font-weight: 700;
  border: 1px solid rgba(27, 132, 255, 0.22);
  border-radius: var(--portal-radius);
  background: rgba(27, 132, 255, 0.08);
}

.portal-capability-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.portal-capability-card {
  display: block;
  padding: 18px;
  color: var(--portal-text);
  text-decoration: none;
}

.portal-capability-card > i {
  display: inline-flex;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  color: var(--portal-primary);
  background: rgba(27, 132, 255, 0.1);
}

.portal-capability-card p {
  margin: 0;
  color: var(--portal-muted);
  line-height: 1.62;
}

.portal-capability-card:hover,
.portal-product-group:hover,
.portal-resource-grid a:hover {
  color: var(--portal-text);
  text-decoration: none;
  border-color: rgba(27, 132, 255, 0.36);
  transform: translateY(-1px);
}

.portal-location-grid {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.portal-location-grid span {
  padding: 13px 12px;
  color: var(--portal-text);
  border: 1px solid var(--portal-border);
  border-radius: var(--portal-radius);
  background: var(--portal-bg);
  font-weight: 700;
}

.portal-product-group-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.portal-product-group {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 2px 12px;
  padding: 15px;
  color: var(--portal-text);
}

.portal-product-group i {
  grid-row: span 2;
  display: inline-flex;
  width: 36px;
  height: 36px;
  align-items: center;
  justify-content: center;
  color: var(--portal-success);
  background: rgba(23, 198, 83, 0.1);
  border-radius: 8px;
}

.portal-product-group strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.portal-resource-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.portal-resource-grid a {
  display: grid;
  justify-items: center;
  gap: 8px;
  min-height: 92px;
  padding: 18px 10px;
  color: var(--portal-text);
  font-weight: 700;
}

.portal-resource-grid i {
  color: var(--portal-primary);
  font-size: 20px;
}

.portal-partner-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.portal-partner-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 12px;
  color: var(--portal-muted);
  border: 1px solid var(--portal-border);
  border-radius: 999px;
  background: var(--portal-bg);
  font-weight: 700;
}

.portal-footer {
  padding: 26px 0 22px;
  color: var(--portal-muted);
  background: var(--portal-surface);
  border-top: 1px solid var(--portal-border);
}

.portal-footer-grid {
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.portal-footer-brand {
  max-width: 620px;
}

.portal-footer p {
  margin: 6px 0 0;
  max-width: 520px;
}

.portal-footer-links {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.portal-footer-links a {
  color: var(--portal-muted);
}

.portal-footer-copy {
  font-size: 13px;
}

.portal-footer-legal-text {
  display: grid;
  gap: 2px;
  margin-top: 0;
  padding-top: 0;
  color: var(--portal-muted);
  border-top: 0;
  font-size: 13px;
  line-height: 1.75;
}

.card,
.modal-content,
.dropdown-menu,
.list-group-item,
.form-control,
.btn {
  border-radius: var(--portal-radius);
}

.form-control {
  background-color: var(--portal-surface);
  color: var(--portal-text);
  border-color: var(--portal-border);
}

.dropdown-menu {
  background: var(--portal-surface);
  border-color: var(--portal-border);
  box-shadow: var(--portal-shadow);
}

.dropdown-item {
  color: var(--portal-text);
}

.dropdown-item:hover {
  background: var(--portal-bg);
  color: var(--portal-primary);
}

@media (max-width: 1199.98px) {
  .portal-menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .portal-nav {
    order: 5;
    flex-basis: 100%;
    display: none;
    padding: 10px 0 14px;
    flex-direction: column;
    align-items: stretch;
  }

  .portal-nav.show,
  .portal-nav.collapsing {
    display: flex;
  }

  .portal-nav-dropdown:hover .portal-dropdown-menu {
    position: static;
    display: grid;
    box-shadow: none;
    margin: 4px 0;
  }

  .portal-shell {
    flex-wrap: wrap;
  }
}

@media (max-width: 991.98px) {
  .portal-home-hero {
    grid-template-columns: 1fr;
  }

  .portal-pricing-grid,
  .portal-capability-grid,
  .portal-location-grid,
  .portal-resource-grid {
    grid-template-columns: 1fr 1fr;
  }

  .portal-product-group-grid {
    grid-template-columns: 1fr;
  }

  .portal-stats-grid,
  .portal-card-grid,
  .portal-panels,
  .portal-bind-grid {
    grid-template-columns: 1fr 1fr;
  }

  .portal-card-span {
    grid-column: 1 / -1;
  }

  .portal-hero-panel {
    flex-direction: column;
  }
}

@media (max-width: 767.98px) {
  .portal-home-hero {
    padding-top: 18px;
  }

  .portal-home-copy,
  .portal-home-section {
    padding: 18px;
  }

  .portal-home-copy h1 {
    font-size: 28px;
  }

  .portal-home-copy p {
    font-size: 15px;
  }

  .portal-home-cta a {
    flex: 1 1 100%;
  }

  .portal-network-visual {
    min-height: auto;
  }

  .portal-map-plane {
    min-height: 190px;
    margin: 12px;
  }

  .portal-map-node {
    font-size: 11px;
    padding: 5px 7px;
  }

  .portal-console-metrics {
    grid-template-columns: 1fr;
  }

  .portal-section-head {
    flex-direction: column;
  }

  .portal-pricing-grid,
  .portal-capability-grid,
  .portal-location-grid,
  .portal-resource-grid {
    grid-template-columns: 1fr;
  }

  .portal-actions {
    gap: 6px;
  }

  .portal-user-name,
  .portal-theme-switch {
    display: none;
  }

  .portal-stats-grid,
  .portal-card-grid,
  .portal-panels,
  .portal-bind-grid {
    grid-template-columns: 1fr;
  }

  .portal-main .product-details .yridc-service-facts {
    grid-template-columns: 1fr;
  }

  .portal-hero-panel {
    padding: 18px;
  }

  .portal-hero-panel h1 {
    font-size: 22px;
  }

  .portal-announcement-inner {
    align-items: flex-start;
    flex-direction: column;
    padding: 10px 15px;
  }

  .portal-announcement-inner a {
    margin-left: 0;
  }

  .portal-footer-grid {
    align-items: flex-start;
    flex-direction: column;
  }

}
