/* =====================================================================
   AVASERVER client area – child theme of Twenty-One (WHMCS 9)
   Same tokens as avaserver.com: navy + brand blue, Geist / Geist Mono,
   6px controls, 12px surfaces, rectangular flags, no pill shapes.
   ===================================================================== */
@font-face{font-family:"Geist";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/geist-latin-wght.woff2") format("woff2")}
@font-face{font-family:"Geist Mono";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/geist-mono-latin-wght.woff2") format("woff2")}
:root{
  --av-ink:#0a1430;--av-ink-2:#26314d;--av-muted:#5a6580;--av-line:#e1e5ee;--av-soft:#f3f5f9;
  --av-navy:#0a1430;--av-navy-2:#13214a;--av-navy-line:#243565;--av-navy-ink:#c6d0e8;
  --av-accent:#1d6ef2;--av-accent-hover:#155ad0;--av-accent-soft:#e8f0fe;--av-glow:#5b9bff;
  --av-ok:#1a7f37;--av-warn:#b26b00;--av-err:#b42318;
  --av-r-sm:6px;--av-r:12px;
  --av-font:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --av-mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --av-shadow:0 24px 60px -24px rgba(10,20,48,.35);
}
/* ---------- base ---------- */
body,.btn,.form-control,.custom-select,input,select,textarea,button,.tooltip,.popover{font-family:var(--av-font)}
body{background:var(--av-soft);color:var(--av-ink);-webkit-font-smoothing:antialiased;font-size:15px}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4{color:var(--av-ink);letter-spacing:-.02em;font-weight:650}
a{color:var(--av-accent)}a:hover{color:var(--av-accent-hover)}
::selection{background:var(--av-accent);color:#fff}
:focus-visible{outline:2px solid var(--av-accent);outline-offset:2px}
code,kbd,pre,samp,.font-monospace{font-family:var(--av-mono)}
.primary-bg-color{background-color:var(--av-soft)!important}

/* ---------- header: white brand row + navy "network" menu bar ---------- */
#header.header{background:#fff;border-bottom:0;box-shadow:0 1px 0 var(--av-line)}
#header .topbar{background:var(--av-navy);color:var(--av-navy-ink);font-size:13px;border-bottom:1px solid var(--av-navy-line)}
#header .topbar a,#header .topbar .btn{color:#fff}
#header .navbar.navbar-light{background:#fff;padding-top:14px;padding-bottom:14px}
/* logo: the AVASERVER image (Logo URL or the hook default), shown at its own height for a sharp result */
#header .navbar-brand{display:inline-flex;align-items:center;padding:0;font-weight:700;font-size:22px;letter-spacing:-.03em;color:var(--av-ink)}
#header .logo-img{height:32px;max-height:32px;width:auto;display:block}
/* search */
#header .form-inline .search{min-width:360px}
#header .search .form-control,#header .input-group.search .btn{background:var(--av-soft);border:1px solid var(--av-line);height:44px;color:var(--av-ink)}
#header .input-group.search .btn{border-right:0;border-radius:var(--av-r-sm) 0 0 var(--av-r-sm);color:var(--av-muted);padding:0 14px}
#header .input-group.search .form-control{border-left:0;border-radius:0 var(--av-r-sm) var(--av-r-sm) 0;padding-left:4px;font-weight:400!important}
#header .input-group.search:focus-within .form-control,#header .input-group.search:focus-within .btn{background:#fff;border-color:var(--av-accent)}
#header .search .form-control:focus{box-shadow:none}
/* cart */
#header .toolbar .cart-btn,#header .toolbar .btn.nav-link{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid var(--av-line);border-radius:var(--av-r-sm);background:#fff;color:var(--av-ink)}
#header .toolbar .cart-btn i{font-size:18px}
#header .toolbar .cart-btn:hover{border-color:var(--av-accent);color:var(--av-accent)}
#header .toolbar .badge,#header .cart-btn .badge{position:absolute;top:-7px;right:-7px;min-width:20px;height:20px;line-height:20px;padding:0 5px;border-radius:10px;background:var(--av-accent);color:#fff;font:600 11px/20px var(--av-mono);box-shadow:0 0 0 2px #fff}
/* menu bar */
.main-navbar-wrapper{position:relative;padding:0!important;background-color:var(--av-navy)!important;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px)!important;background-size:32px 32px!important;
  border-top:0;box-shadow:inset 0 -2px 0 var(--av-accent)}
.main-navbar-wrapper .navbar-nav>li>a,.main-navbar-wrapper .navbar-nav .nav-link{display:block;color:var(--av-navy-ink)!important;font-weight:500;font-size:14.5px;padding:15px 12px!important;position:relative;transition:color .15s ease;white-space:nowrap}
.main-navbar-wrapper .navbar-nav>li>a::after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:2px;background:var(--av-glow);box-shadow:0 0 12px var(--av-glow);transform:scaleX(0);transform-origin:left;transition:transform .2s cubic-bezier(.23,1,.32,1)}
.main-navbar-wrapper .navbar-nav>li>a.dropdown-toggle{padding-right:26px!important}
@media (min-width:1200px){.main-navbar-wrapper #nav{flex-wrap:wrap}}
.main-navbar-wrapper .navbar-nav>li>a.dropdown-toggle::before{content:"";position:absolute;right:11px;top:50%;width:6px;height:6px;margin-top:-5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);opacity:.7}
.main-navbar-wrapper .navbar-nav>li>a.dropdown-toggle::after{border:0;width:auto;margin:0;vertical-align:baseline}
.main-navbar-wrapper .navbar-nav>li:hover>a,.main-navbar-wrapper .navbar-nav>li.show>a,.main-navbar-wrapper .navbar-nav>li.active>a{color:#fff!important;background:transparent}
.main-navbar-wrapper .navbar-nav>li:hover>a::after,.main-navbar-wrapper .navbar-nav>li.show>a::after,.main-navbar-wrapper .navbar-nav>li.active>a::after{transform:scaleX(1)}
/* Account on the right reads as a button */
.main-navbar-wrapper .navbar-nav.ml-auto>li>a{margin:8px 0;padding:7px 30px 7px 14px!important;border:1px solid var(--av-navy-line);border-radius:var(--av-r-sm);background:var(--av-navy-2);color:#fff!important}
.main-navbar-wrapper .navbar-nav.ml-auto>li>a::after{display:none}
.main-navbar-wrapper .navbar-nav.ml-auto>li>a:hover,.main-navbar-wrapper .navbar-nav.ml-auto>li.show>a{border-color:var(--av-glow)}
/* mobile menu (collapsed) */
@media (max-width:1199.98px){
  #header .form-inline .search{min-width:0}
  .main-navbar-wrapper .navbar-collapse{padding:10px 0 14px}
  .main-navbar-wrapper .navbar-nav>li>a{padding:11px 4px!important}
  .main-navbar-wrapper .navbar-nav>li>a::after{left:4px;right:auto;width:28px}
  .main-navbar-wrapper .navbar-nav.ml-auto>li>a{display:inline-block}
  .main-navbar-wrapper .search .form-control,.main-navbar-wrapper .search .btn{background:var(--av-navy-2);border-color:var(--av-navy-line);color:#fff}
}
.dropdown-menu{border:0;border-radius:var(--av-r);box-shadow:0 0 0 1px rgba(10,20,48,.08),var(--av-shadow);padding:6px;font-size:14.5px;margin-top:0}
.main-navbar-wrapper .dropdown-menu{margin-top:2px}
.dropdown-menu .dropdown-item,.dropdown-menu>li>a{border-radius:var(--av-r-sm);padding:8px 12px;color:var(--av-ink-2)}
.dropdown-menu li.dropdown-item{padding:0}
.dropdown-menu li.dropdown-item>a{display:block;padding:8px 12px!important;border-radius:var(--av-r-sm);color:var(--av-ink-2)}
.dropdown-menu .dropdown-item:hover,.dropdown-menu .dropdown-item:focus,.dropdown-menu li.dropdown-item>a:hover{background:var(--av-soft);color:var(--av-accent);text-decoration:none}
.dropdown-item.active,.dropdown-item:active{background:var(--av-accent);color:#fff}
.dropdown-divider{border-color:var(--av-line)}
@media (prefers-reduced-motion:reduce){.main-navbar-wrapper .navbar-nav>li>a::after{transition:none}}

/* ---------- breadcrumb + page head ---------- */
.master-breadcrumb{background:#fff;border-bottom:1px solid var(--av-line)}
.master-breadcrumb .breadcrumb{background:transparent;padding:11px 0;font-size:13.5px;margin:0}
.breadcrumb-item+.breadcrumb-item::before{content:"/";color:var(--av-muted)}
.breadcrumb-item a{color:var(--av-muted)}.breadcrumb-item.active{color:var(--av-ink)}
#main-body{padding-top:22px;padding-bottom:40px}
.header-lined{border-bottom:0;margin-bottom:18px}
.header-lined h1{font-size:30px;font-weight:700;letter-spacing:-.03em}

/* ---------- cards, sidebar, panels ---------- */
.card,.panel,.client-home-panels .card,.card-sidebar{border:1px solid var(--av-line);border-radius:var(--av-r);box-shadow:none;background:#fff;overflow:hidden}
.card-header,.panel-heading{background:#fff;border-bottom:1px solid var(--av-line);padding:14px 18px}
.card-header .card-title,.card-title,.panel-title{font-size:15px;font-weight:600;color:var(--av-ink);letter-spacing:-.01em}
.card-footer{background:var(--av-soft);border-top:1px solid var(--av-line)}
.sidebar .card-header,.card-sidebar .card-header{background:var(--av-navy);border-bottom-color:var(--av-navy-line)}
.sidebar .card-header .card-title,.sidebar .card-header .panel-title,.card-sidebar .card-header .card-title,.card-sidebar .card-header .panel-title{color:#fff}
.sidebar .card-header i,.card-sidebar .card-header i{color:var(--av-glow)}
.list-group-item{border-color:var(--av-line);color:var(--av-ink-2);padding:10px 18px;font-size:14.5px}
.list-group-item-action:hover,.list-group-item-action:focus{background:var(--av-soft);color:var(--av-accent)}
.list-group-item.active,.list-group-item.active:hover{background:var(--av-accent-soft);border-color:var(--av-line);color:var(--av-accent);font-weight:600;box-shadow:inset 3px 0 0 var(--av-accent)}
.list-group-item .badge{border-radius:4px;font-family:var(--av-mono);font-weight:500;background:var(--av-soft);color:var(--av-ink-2)}
.list-group-item.active .badge{background:var(--av-accent);color:#fff}
/* coloured accents of the client home panels become one brand accent */
.card-accent-teal,.card-accent-pomegranate,.card-accent-sun-flower,.card-accent-asbestos,.card-accent-green,.card-accent-midnight-blue,.card-accent-blue,.card-accent-gold,.card-accent-emerald,.card-accent-amethyst,.card-accent-orange,.card-accent-red,.card-accent-lime{border-top:3px solid var(--av-accent)!important}
.card-accent-pomegranate{border-top-color:var(--av-err)!important}

/* home tiles (Services, Domains, Tickets, Invoices counters) */
.tiles .tile{background:#fff;border:1px solid var(--av-line);border-radius:var(--av-r);margin:0 6px 12px;transition:border-color .15s ease}
.tiles .tile:hover{border-color:var(--av-accent);background:#fff}
.tiles .tile .stat{font-family:var(--av-mono);font-weight:600;color:var(--av-ink);letter-spacing:-.03em}
.tiles .tile .title{color:var(--av-muted);text-transform:none;font-size:14px}
.tiles .tile .highlight{display:none}
.tiles .tile i{color:var(--av-accent);opacity:.18}

/* ---------- buttons ---------- */
.btn{border-radius:var(--av-r-sm);font-weight:600;letter-spacing:0;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .16s cubic-bezier(.23,1,.32,1)}
.btn:active{transform:scale(.97)}
.btn-primary,.btn-info,.btn-success,.btn-order-now,.btn-checkout{background:var(--av-accent)!important;border-color:var(--av-accent)!important;color:#fff!important}
.btn-primary:hover,.btn-info:hover,.btn-success:hover,.btn-order-now:hover,.btn-checkout:hover{background:var(--av-accent-hover)!important;border-color:var(--av-accent-hover)!important}
.btn-default,.btn-secondary,.btn-light,.btn-outline-primary{background:#fff;border:1px solid var(--av-line);color:var(--av-ink-2)}
.btn-default:hover,.btn-secondary:hover,.btn-light:hover,.btn-outline-primary:hover{background:#fff;border-color:var(--av-accent);color:var(--av-accent)}
.btn-danger{background:var(--av-err);border-color:var(--av-err)}
.btn-link{color:var(--av-accent);font-weight:500}
.btn-lg{padding:12px 22px;font-size:16px}
.btn-sm{border-radius:5px}

/* ---------- forms ---------- */
.form-control,.custom-select,.input-group-text{border:1px solid var(--av-line);border-radius:var(--av-r-sm);color:var(--av-ink);background-color:#fff;height:auto;padding:10px 12px;font-size:15px}
.form-control:focus,.custom-select:focus{border-color:var(--av-accent);box-shadow:0 0 0 3px rgba(29,110,242,.15)}
.input-group-text{background:var(--av-soft);color:var(--av-muted)}
label,.control-label{font-weight:500;color:var(--av-ink-2);font-size:14px}
.custom-control-input:checked~.custom-control-label::before{background:var(--av-accent);border-color:var(--av-accent)}
.form-text,.text-muted{color:var(--av-muted)!important}

/* ---------- tables ---------- */
.table{color:var(--av-ink-2)}
.table thead th,.table-list thead th,.dataTables_wrapper table thead th{background:var(--av-soft);color:var(--av-ink);border-bottom:1px solid var(--av-line);border-top:0;font-weight:600;font-size:13.5px}
.table td,.table th{border-top-color:var(--av-line);vertical-align:middle}
.table-list{border:1px solid var(--av-line);border-radius:var(--av-r);overflow:hidden;background:#fff}
.table-list>tbody>tr:hover>td{background:var(--av-soft)}
.dataTables_wrapper .dataTables_paginate .paginate_button{border-radius:var(--av-r-sm)!important}
.dataTables_wrapper .dataTables_paginate .paginate_button.current{background:var(--av-accent)!important;color:#fff!important;border-color:var(--av-accent)!important}

/* ---------- labels and status ---------- */
.label,.badge,.status{border-radius:4px;font-weight:600;font-size:12px;letter-spacing:.01em;padding:4px 8px}
.label-success,.badge-success,.status-active,.status-paid,.status-open,.status-completed{background:#e9f7ef!important;color:var(--av-ok)!important}
.label-warning,.badge-warning,.status-pending,.status-unpaid,.status-answered,.status-customer-reply{background:#fff4e0!important;color:var(--av-warn)!important}
.label-danger,.badge-danger,.status-suspended,.status-overdue,.status-cancelled,.status-terminated,.status-closed{background:#fdecec!important;color:var(--av-err)!important}
.label-info,.badge-info{background:var(--av-accent-soft)!important;color:var(--av-accent)!important}

/* ---------- alerts ---------- */
.alert{border-radius:var(--av-r-sm);border:1px solid transparent;font-size:14.5px}
.alert-info{background:var(--av-accent-soft);border-color:#cfe0ff;color:#1546a0}
.alert-success{background:#e9f7ef;border-color:#c9ebd6;color:var(--av-ok)}
.alert-warning{background:#fff7e6;border-color:#ffe2a8;color:#7a4b00}
.alert-danger{background:#fdecec;border-color:#f8cfcf;color:var(--av-err)}

/* ---------- order form (standard_cart) ---------- */
#order-standard_cart .products .product{border:1px solid var(--av-line);border-radius:var(--av-r);background:#fff;padding:22px;margin-bottom:16px}
#order-standard_cart .products .product header{background:transparent;border:0;padding:0 0 10px;margin:0}
#order-standard_cart .products .product header span{font-size:19px;font-weight:650;color:var(--av-ink);letter-spacing:-.02em}
#order-standard_cart .products .product .product-desc{color:var(--av-ink-2);font-size:14.5px}
#order-standard_cart .products .product .product-desc ul{padding-left:0;list-style:none}
#order-standard_cart .products .product .product-desc li{padding:4px 0;border-bottom:1px solid var(--av-line)}
#order-standard_cart .product-pricing .price,#order-standard_cart .amt,#order-standard_cart .total-due-today .amt,#order-standard_cart .subtotal span,#order-standard_cart .view-cart-items .item-price{font-family:var(--av-mono);font-weight:600;color:var(--av-ink);letter-spacing:-.03em}
#order-standard_cart .product-pricing .price{font-size:24px}
#order-standard_cart .header-lined h1{font-size:28px}
#order-standard_cart .summary-container{border:1px solid var(--av-line);border-radius:var(--av-r);background:#fff;overflow:hidden}
#order-standard_cart .order-summary{background:var(--av-navy);border-radius:var(--av-r);border:0}
#order-standard_cart .order-summary h2{background:var(--av-navy);color:#fff;font-size:16px;letter-spacing:0;padding:14px 18px;margin:0}
#order-standard_cart .order-summary .summary-container{border-radius:0 0 var(--av-r) var(--av-r)}
#order-standard_cart .view-cart-items-header{background:var(--av-navy);color:#fff;border-radius:var(--av-r) var(--av-r) 0 0}
#order-standard_cart .view-cart-items{border:1px solid var(--av-line);border-top:0;border-radius:0 0 var(--av-r) var(--av-r)}
#order-standard_cart .view-cart-items .item{border-bottom:1px solid var(--av-line)}
#order-standard_cart .sub-heading span,#order-standard_cart .sub-heading-borderless span{background:var(--av-soft);color:var(--av-ink);font-weight:600}
#order-standard_cart .field-container,#order-standard_cart .product-info{border-radius:var(--av-r);border-color:var(--av-line)}
#order-standard_cart .panel-addon,#order-standard_cart .domain-checker-container{border-radius:var(--av-r);border-color:var(--av-line)}
#order-standard_cart .domain-checker-container{background:var(--av-navy)}
#order-standard_cart .btn-checkout{font-size:16px;padding:12px 24px}
#order-standard_cart .cart-sidebar .list-group-item.active{background:var(--av-accent-soft)}
.product-recommendations .product-recommendation{border-radius:var(--av-r);border-color:var(--av-line)}

/* ---------- login / register / password ---------- */
.login-form,.logincontainer,.card.mw-540{border-radius:var(--av-r)}
.login-form .card-body,.logincontainer .card-body{padding:30px}
.providerLinkingFeedback{border-radius:var(--av-r-sm)}

/* ---------- tickets, knowledgebase, announcements ---------- */
.ticket-reply{border:1px solid var(--av-line);border-radius:var(--av-r);overflow:hidden;background:#fff}
.ticket-reply .posted-by{background:var(--av-soft);border-bottom:1px solid var(--av-line)}
.ticket-reply.staff{border-left:3px solid var(--av-accent)}
.kb-category,.kb-article-item{border-radius:var(--av-r-sm)}
.kb-search .form-control{height:48px}
.announcement-single .card-title a{color:var(--av-ink)}

/* invoices in the client area (view invoice page uses its own template) */
.invoice-container{border:1px solid var(--av-line);border-radius:var(--av-r);box-shadow:none}
.invoice-container .invoice-status .paid{color:var(--av-ok)}
.invoice-container .invoice-status .unpaid{color:var(--av-err)}

/* ---------- footer ---------- */
#footer.footer,footer.footer{background:var(--av-navy);color:var(--av-navy-ink);border-top:0;padding:28px 0 24px}
#footer a,footer.footer a{color:#fff}
#footer a:hover,footer.footer a:hover{color:var(--av-glow)}
#footer .nav-link{padding:6px 10px}
#footer .copyright{color:var(--av-navy-ink);font-size:13px}
#footer .btn{background:var(--av-navy-2);border-color:var(--av-navy-line);color:#fff}

/* ---------- misc ---------- */
.modal-content{border:0;border-radius:var(--av-r);box-shadow:var(--av-shadow)}
.modal-header{border-bottom-color:var(--av-line)}.modal-footer{border-top-color:var(--av-line)}
.nav-tabs{border-bottom-color:var(--av-line)}
.nav-tabs .nav-link{border:0;border-bottom:2px solid transparent;color:var(--av-muted);font-weight:500}
.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:var(--av-ink);border-bottom-color:var(--av-accent);background:transparent}
.pagination .page-link{border-color:var(--av-line);color:var(--av-ink-2)}
.pagination .page-item.active .page-link{background:var(--av-accent);border-color:var(--av-accent)}
.progress{border-radius:4px;background:var(--av-soft)}.progress-bar{background:var(--av-accent)}
.popover,.tooltip-inner{border-radius:var(--av-r-sm)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}.btn:active{transform:none}}
