/* ServerEra PNLCS customer portal theme.
   Styles are intentionally scoped to portal components; billing behavior is untouched. */
:root {
  --primary: #2F1C6A;
  --primary-light: #F0ECFA;
  --primary-dark: #080F2C;
  --accent: #FFC107;
  --accent-dark: #E0A800;
  --success: #15803D;
  --border: #E4E6EF;
  --text: #172033;
  --muted: #667085;
  --bg: #F6F7FB;
  --card: #FFFFFF;
  --shadow: 0 2px 8px rgba(8,15,44,.06), 0 1px 3px rgba(8,15,44,.04);
  --shadow-md: 0 12px 28px rgba(8,15,44,.12);
  --radius: 14px;
  --radius-sm: 9px;
}
body {
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  background: var(--bg) !important;
}
.pn-navbar {
  background: #080F2C !important;
  border-bottom: 1px solid rgba(255,193,7,.22) !important;
  box-shadow: 0 5px 20px rgba(8,15,44,.14) !important;
}
.pn-brand { color: #fff !important; }
.pn-brand-dot { background: #FFC107 !important; box-shadow: 0 0 10px rgba(255,193,7,.35); }
.pn-nav-link { color: #D7DDF0 !important; }
.pn-nav-link:hover, .pn-nav-link.active {
  color: #080F2C !important;
  background: #FFC107 !important;
}
.pn-dropdown, .pn-mobile-menu {
  background: #111A36 !important;
  border-color: #2C3658 !important;
}
.pn-dropdown a, .pn-mobile-menu a { color: #F4F6FF !important; }
.pn-dropdown a:hover, .pn-mobile-menu a:hover {
  color: #080F2C !important;
  background: #FFC107 !important;
}
.pn-user-btn {
  color: #080F2C !important;
  background: #FFC107 !important;
  border-color: #FFC107 !important;
}
.pn-user-btn:hover { background: #E0A800 !important; }
.pn-hamburger { border-color: #384366 !important; }
.pn-hamburger span { background: #FFC107 !important; }
.pn-main { padding-top: 32px; }
.pn-card, .pn-stat, .pn-product-card, .pn-msg {
  border-radius: 14px !important;
  box-shadow: var(--shadow) !important;
}
.pn-card { border-color: #E4E6EF !important; }
.pn-card-header { background: #FBFBFE; }
.pn-card-title, .pn-page-title { color: #080F2C !important; }
.pn-stat { border: 1px solid #E4E6EF !important; }
.pn-stat:hover, .pn-product-card:hover, .pn-card:hover {
  box-shadow: var(--shadow-md) !important;
}
.pn-stat-icon { border-radius: 12px !important; }
.btn-primary, .gw-tab.active {
  background: #2F1C6A !important;
  border-color: #2F1C6A !important;
  color: #fff !important;
}
.btn-primary:hover { background: #080F2C !important; border-color: #080F2C !important; }
.btn-accent, .pn-popular {
  background: #FFC107 !important;
  color: #080F2C !important;
}
.btn-accent:hover { background: #E0A800 !important; color: #080F2C !important; }
.btn-outline, .btn-default { border-color: #D8DCE8 !important; }
.btn-outline:hover, .btn-default:hover {
  border-color: #2F1C6A !important;
  background: #F0ECFA !important;
  color: #2F1C6A !important;
}
a, .link, .pn-table a, .pn-back { color: #2F1C6A; }
a:hover, .link:hover, .pn-table a:hover { color: #080F2C; }
.form-control:focus, .pn-input:focus {
  border-color: #FFC107 !important;
  box-shadow: 0 0 0 3px rgba(255,193,7,.2) !important;
}
.pn-table th { background: #F0ECFA !important; color: #2F1C6A !important; }
.pn-table tbody tr:hover td { background: #FAF8FF !important; }
.pn-welcome {
  background: linear-gradient(120deg, #080F2C 0%, #2F1C6A 75%, #3C2A7C 100%) !important;
  border: 1px solid rgba(255,193,7,.24);
}
.pn-welcome-credit { border-color: rgba(255,193,7,.45) !important; }
.pn-welcome-credit .credit-val { color: #FFC107 !important; }
.pn-product-card.featured { border-color: #FFC107 !important; }
.pn-product-price { color: #080F2C !important; }
.pn-pay-option:hover, .pn-pay-option.selected,
.pn-amount-btn:hover, .pn-amount-btn.selected {
  border-color: #2F1C6A !important;
  background: #F0ECFA !important;
  color: #2F1C6A !important;
}
.pn-pay-option input[type=radio] { accent-color: #2F1C6A !important; }
.pn-msg.staff { border-left-color: #FFC107 !important; }
.pn-msg.staff .pn-msg-head { background: #F0ECFA !important; }
.pn-msg.staff .pn-msg-author { color: #2F1C6A !important; }
.pn-footer {
  background: #080F2C !important;
  border-top: 1px solid rgba(255,193,7,.22) !important;
  color: #D7DDF0 !important;
}
.pn-footer a { color: #FFC107 !important; }
@media (max-width: 768px) {
  .pn-main { padding: 22px 16px !important; }
  .pn-card-body { padding: 20px 16px !important; }
  .pn-card-header { padding: 15px 16px !important; }
}
/* Preserve legibility when PNLCS dark mode is enabled. */
:root[data-theme="dark"] {
  --bg: #080F2C !important;
  --card: #111A36 !important;
  --border: #2C3658 !important;
  --text: #F4F6FF !important;
  --muted: #AAB3CC !important;
  --primary: #B9A5FF !important;
  --primary-light: #241B48 !important;
  --primary-dark: #080F2C !important;
}
:root[data-theme="dark"] .pn-card-header,
:root[data-theme="dark"] .pn-table th { background: #151F40 !important; }
:root[data-theme="dark"] .pn-page-title,
:root[data-theme="dark"] .pn-card-title,
:root[data-theme="dark"] .pn-stat-val,
:root[data-theme="dark"] .pn-product-price { color: #F4F6FF !important; }
:root[data-theme="dark"] .pn-table tbody tr:hover td { background: #1A2547 !important; }
:root[data-theme="dark"] .pn-footer { background: #050A1D !important; }
