/* ==========================================================================
   Realtyna Client Area Theme
   Child theme of WHMCS "Six" — light, modern styling matching realtyna.com
   Palette + type sourced from realtyna.com computed styles (Sep 2026):
     Brand purple:      #5f1cc9
     Brand purple hover: #4c1d95
     Brand blue accent:  #3483f2
     Heading color:      #1b185b
     Body text:          #222222
     Headings font:      Montserrat
     Body font:           Open Sans (already shipped by Six)
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600;700;800&display=swap');

:root {
  --rn-purple: #5f1cc9;
  --rn-purple-dark: #4c1d95;
  --rn-blue: #3483f2;
  --rn-gradient: linear-gradient(135deg, #5f1cc9 0%, #3483f2 100%);
  --rn-gradient-hover: linear-gradient(135deg, #4c1d95 0%, #1c56a7 100%);
  --rn-heading: #1b185b;
  --rn-text: #2b2b2b;
  --rn-text-muted: #6b7280;
  --rn-bg: #f7f7fb;
  --rn-bg-alt: #f1eefc;
  --rn-border: #e7e5f3;
  --rn-white: #ffffff;
  --rn-radius: 10px;
  --rn-radius-sm: 6px;
  --rn-shadow: 0 2px 10px rgba(31, 25, 90, 0.06);
  --rn-shadow-md: 0 8px 24px rgba(31, 25, 90, 0.10);
}

/* --------------------------------------------------------------------------
   Base / typography
   -------------------------------------------------------------------------- */

body {
  background-color: var(--rn-bg);
  color: var(--rn-text);
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6,
.panel-title, .subheader h2 {
  font-family: 'Montserrat', 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-weight: 700;
  color: var(--rn-heading);
}

a {
  color: var(--rn-purple);
}
a:hover,
a:focus {
  color: var(--rn-purple-dark);
}

.header-lined h1 {
  border-bottom: 2px solid var(--rn-border);
  padding-bottom: 14px;
  margin-bottom: 20px;
}

/* --------------------------------------------------------------------------
   Top bar (#header) — logo, search, account links
   -------------------------------------------------------------------------- */

section#header {
  background-color: var(--rn-white);
  border-radius: 0;
  border-bottom: 1px solid var(--rn-border);
  padding: 14px 0;
}

section#header .logo-text {
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  color: var(--rn-heading);
}

section#header .top-nav > li > a {
  color: var(--rn-text-muted);
  font-weight: 600;
  font-size: 0.85em;
  text-transform: uppercase;
  letter-spacing: .03em;
}
section#header .top-nav > li > a:hover {
  color: var(--rn-purple);
}
section#header .top-nav .btn {
  background: var(--rn-gradient);
  color: #fff;
  border: none;
  border-radius: 999px;
  padding: 8px 18px;
  font-weight: 600;
  box-shadow: var(--rn-shadow);
}
section#header .top-nav .btn:hover {
  background: var(--rn-gradient-hover);
  color: #fff;
}
section#header .top-nav .btn.btn-logged-in-admin {
  background: var(--rn-text-muted);
  border-radius: 50%;
}

section#header .search .form-control {
  border-radius: 999px 0 0 999px;
  background-color: var(--rn-bg);
}
section#header .search .btn {
  border-radius: 0 999px 999px 0;
  background-color: var(--rn-bg);
  color: var(--rn-text-muted);
}

/* --------------------------------------------------------------------------
   Primary navigation (icon menu: Home / Services / Domains / Billing / Support)
   -------------------------------------------------------------------------- */

.navbar-main {
  background-color: var(--rn-white);
  border-bottom: 1px solid var(--rn-border);
  min-height: 48px;
  font-family: 'Montserrat', 'Open Sans', sans-serif;
  font-size: 14px;
  box-shadow: none;
}
.navbar-main li.account {
  background-color: var(--rn-bg-alt);
}
.navbar-main .navbar-nav > li > a {
  color: var(--rn-text);
  font-weight: 600;
  padding-top: 14px;
  padding-bottom: 14px;
}
.navbar-main .navbar-nav > li > a:hover,
.navbar-main .navbar-nav > li > a:focus {
  color: var(--rn-purple);
  background-color: var(--rn-bg-alt);
}
.navbar-main .navbar-nav > .active > a,
.navbar-main .navbar-nav > .active > a:hover,
.navbar-main .navbar-nav > .active > a:focus,
.navbar-main .navbar-nav > .open > a,
.navbar-main .navbar-nav > .open > a:hover,
.navbar-main .navbar-nav > .open > a:focus {
  color: var(--rn-purple);
  background-color: var(--rn-bg-alt);
  box-shadow: inset 0 -3px 0 var(--rn-purple);
}
.navbar-main .dropdown-menu {
  border: 1px solid var(--rn-border);
  border-radius: var(--rn-radius-sm);
  box-shadow: var(--rn-shadow-md);
  padding: 6px 0;
  margin-top: 6px;
}
.navbar-main .navbar-nav .dropdown-menu > li > a {
  color: var(--rn-text);
}
.navbar-main .navbar-nav .dropdown-menu > li > a:hover,
.navbar-main .navbar-nav .dropdown-menu > li > a:focus,
.navbar-main .navbar-nav .dropdown-menu > .active > a {
  color: var(--rn-purple);
  background-color: var(--rn-bg-alt);
}

/* --------------------------------------------------------------------------
   Buttons
   -------------------------------------------------------------------------- */

.btn {
  border-radius: var(--rn-radius-sm);
  font-weight: 600;
  letter-spacing: .01em;
  transition: all .15s ease;
}

.btn-primary {
  background: var(--rn-gradient);
  border: none;
  color: #fff;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary.focus {
  background: var(--rn-gradient-hover);
  border: none;
  color: #fff;
}
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
  background: var(--rn-gradient-hover);
  background-image: var(--rn-gradient-hover);
  border: none;
  color: #fff;
}
.btn-primary.disabled,
.btn-primary[disabled],
fieldset[disabled] .btn-primary {
  background: #cbd1e6;
}
.btn-primary .badge {
  color: var(--rn-purple);
  background-color: #fff;
}

.btn-default {
  background-color: #fff;
  border: 1px solid var(--rn-border);
  color: var(--rn-text);
}
.btn-default:hover,
.btn-default:focus {
  background-color: var(--rn-bg-alt);
  border-color: var(--rn-purple);
  color: var(--rn-purple-dark);
}

.btn-lg {
  border-radius: var(--rn-radius);
}

/* --------------------------------------------------------------------------
   Panels / cards
   -------------------------------------------------------------------------- */

.panel {
  background-color: #fff;
  border: 1px solid var(--rn-border);
  border-radius: var(--rn-radius);
  box-shadow: var(--rn-shadow);
}
.panel-heading {
  background-color: #fff;
  border-bottom: 1px solid var(--rn-border);
  border-top-left-radius: var(--rn-radius);
  border-top-right-radius: var(--rn-radius);
  padding: 16px 20px;
}
.panel-title {
  font-size: 1.05em;
}
.panel-body {
  padding: 20px;
}
.panel-footer {
  background-color: #fff;
  border-top: 1px solid var(--rn-border);
  border-bottom-left-radius: var(--rn-radius);
  border-bottom-right-radius: var(--rn-radius);
}
.panel-default > .panel-heading {
  background-color: #fff;
  color: var(--rn-heading);
}

/* Dashboard "quick shortcut" home panels keep their color accent bar,
   but adopt the same rounded / shadow card treatment */
.client-home-panels .panel {
  transition: transform .15s ease, box-shadow .15s ease;
}
.client-home-panels .panel:hover {
  box-shadow: var(--rn-shadow-md);
}

/* --------------------------------------------------------------------------
   Dashboard stat tiles (Services / Domains / Tickets / Invoices)
   -------------------------------------------------------------------------- */

.tiles .tile {
  background-color: #fff;
  border: 1px solid var(--rn-border);
  border-radius: var(--rn-radius);
  box-shadow: var(--rn-shadow);
  overflow: hidden;
  transition: transform .15s ease, box-shadow .15s ease;
  margin-bottom: 20px;
}
.tiles .tile:hover {
  transform: translateY(-2px);
  box-shadow: var(--rn-shadow-md);
}
.tile .icon {
  color: var(--rn-purple);
}
.tile .stat {
  color: var(--rn-heading);
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
}
.tile .title {
  color: var(--rn-text-muted);
}
.tile .highlight {
  height: 4px;
}
.tile .highlight.bg-color-blue   { background: var(--rn-gradient); }
.tile .highlight.bg-color-green  { background-color: #22c07a; }
.tile .highlight.bg-color-red    { background-color: #ef5a6f; }
.tile .highlight.bg-color-gold   { background-color: #f5a524; }

/* --------------------------------------------------------------------------
   Forms
   -------------------------------------------------------------------------- */

.form-control {
  border: 1px solid var(--rn-border);
  border-radius: var(--rn-radius-sm);
  box-shadow: none;
  background-color: #fff;
}
.form-control:focus {
  border-color: var(--rn-purple);
  box-shadow: 0 0 0 3px rgba(95, 28, 201, 0.12);
}
label {
  font-weight: 600;
  color: var(--rn-text);
}
.input-group-addon {
  border-radius: var(--rn-radius-sm);
  background-color: var(--rn-bg);
  border-color: var(--rn-border);
}

/* --------------------------------------------------------------------------
   Tables
   -------------------------------------------------------------------------- */

.table > thead > tr > th {
  border-bottom: 2px solid var(--rn-border);
  color: var(--rn-heading);
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  font-size: .78em;
  letter-spacing: .04em;
}
.table > tbody > tr > td,
.table > tbody > tr > th {
  border-top: 1px solid var(--rn-border);
}
.table-hover > tbody > tr:hover {
  background-color: var(--rn-bg-alt);
}
.table-striped > tbody > tr:nth-of-type(odd) {
  background-color: #fbfaff;
}

/* --------------------------------------------------------------------------
   Pagination
   -------------------------------------------------------------------------- */

.pagination > li > a,
.pagination > li > span {
  color: var(--rn-purple);
  border-color: var(--rn-border);
}
.pagination > li:first-child > a,
.pagination > li:first-child > span {
  border-top-left-radius: var(--rn-radius-sm);
  border-bottom-left-radius: var(--rn-radius-sm);
}
.pagination > li:last-child > a,
.pagination > li:last-child > span {
  border-top-right-radius: var(--rn-radius-sm);
  border-bottom-right-radius: var(--rn-radius-sm);
}
.pagination > li > a:hover,
.pagination > li > span:hover {
  background-color: var(--rn-bg-alt);
  border-color: var(--rn-border);
  color: var(--rn-purple-dark);
}
.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover {
  background-color: var(--rn-purple);
  border-color: var(--rn-purple);
}

/* --------------------------------------------------------------------------
   Labels / badges — status colors kept semantic, brand/info recolored
   -------------------------------------------------------------------------- */

.label-primary,
.label-info {
  background-color: var(--rn-purple);
}
.label-primary[href]:hover,
.label-info[href]:hover {
  background-color: var(--rn-purple-dark);
}

/* --------------------------------------------------------------------------
   Alerts
   -------------------------------------------------------------------------- */

.alert {
  border: none;
  border-radius: var(--rn-radius-sm);
  border-left: 4px solid transparent;
}
.alert-info {
  background-color: #eef3fd;
  border-left-color: var(--rn-blue);
  color: #1c4a8f;
}
.alert-warning {
  border-left-color: #f5a524;
}
.alert-danger {
  border-left-color: #ef5a6f;
}
.alert-success {
  border-left-color: #22c07a;
}

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */

section#footer {
  background-color: var(--rn-white);
  border-top: 1px solid var(--rn-border);
  color: var(--rn-text-muted);
}
section#footer .back-to-top {
  background-color: var(--rn-purple);
  color: #fff;
  border-radius: 50%;
}
section#footer .back-to-top:hover {
  background-color: var(--rn-purple-dark);
}

/* --------------------------------------------------------------------------
   Login / Register
   -------------------------------------------------------------------------- */

.logincontainer {
  background-color: #fff;
  border: 1px solid var(--rn-border);
  border-radius: var(--rn-radius);
  box-shadow: var(--rn-shadow-md);
  padding: 32px;
  max-width: 640px;
  margin: 30px auto;
}
.logincontainer .header-lined {
  text-align: center;
}
.logincontainer .header-lined h1 {
  border-bottom: none;
}

/* --------------------------------------------------------------------------
   List groups / sidebar / breadcrumb
   -------------------------------------------------------------------------- */

.list-group-item {
  border-color: var(--rn-border);
}
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
  background-color: var(--rn-purple);
  border-color: var(--rn-purple);
}
.sidebar .list-group-item:hover {
  background-color: var(--rn-bg-alt);
}

.breadcrumb {
  background-color: transparent;
  padding-left: 0;
}
.breadcrumb > .active {
  color: var(--rn-text-muted);
}

/* --------------------------------------------------------------------------
   Misc: dropdowns, modals, nav-tabs, well
   -------------------------------------------------------------------------- */

.dropdown-menu {
  border: 1px solid var(--rn-border);
  border-radius: var(--rn-radius-sm);
  box-shadow: var(--rn-shadow-md);
}
.modal-content {
  border-radius: var(--rn-radius);
  border: none;
  box-shadow: var(--rn-shadow-md);
}
.modal-header {
  border-bottom: 1px solid var(--rn-border);
}
.modal-footer {
  border-top: 1px solid var(--rn-border);
}
.nav-tabs {
  border-bottom: 1px solid var(--rn-border);
}
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
  color: var(--rn-purple);
  border-color: var(--rn-border) var(--rn-border) #fff;
  border-top: 2px solid var(--rn-purple);
}
.well {
  background-color: var(--rn-bg);
  border: 1px solid var(--rn-border);
  border-radius: var(--rn-radius);
  box-shadow: none;
}

/* --------------------------------------------------------------------------
   Order / product configuration pages
   -------------------------------------------------------------------------- */

.pricing-table .panel-heading,
.product-cell .panel-heading {
  background: var(--rn-gradient);
  color: #fff;
}
.pricing-table .panel-heading h3,
.product-cell .panel-heading h3 {
  color: #fff;
}

/* --------------------------------------------------------------------------
   Responsive niceties
   -------------------------------------------------------------------------- */

@media (max-width: 767px) {
  .logincontainer {
    padding: 20px;
    margin: 12px;
  }
}
