/* Perfect Blend theme: the standard WHMCS pages (invoices, tickets, account, store, help) dressed in the design system.
   Type: Poppins headings, Roboto text. Colors: ink #1C1C1C, slate #4B515F, blue #0072EF, line #E4E8EE, wash #F4F7FB.
   Cards 18px corners, buttons 2px, inputs 8px, exactly like the approved boards. */
.pb-generic,.pb-auth-card,.pb-2fa{font-family:'Roboto',system-ui,sans-serif;font-size:15px;line-height:1.55;color:#1C1C1C}
.pb-generic h1,.pb-generic h2,.pb-generic h3,.pb-generic h4,.pb-generic h5,.pb-generic h6,.pb-generic .h1,.pb-generic .h2,.pb-generic .h3,.pb-generic .h4,.pb-generic .h5,.pb-generic .h6,.pb-generic .card-title{font-family:'Poppins',sans-serif;font-weight:600;letter-spacing:-0.01em;color:#1C1C1C}
.pb-generic .h3,.pb-generic h3{font-size:22px}
.pb-generic a{color:#0062CC}.pb-generic a:hover{color:#004A9C;text-decoration:none}
.pb-generic .text-muted{color:#5A6270 !important}
.pb-generic .container-pb{width:100%}
.pb-generic #main-body{padding:0;background:transparent}
.pb-generic .row{margin-left:-11px;margin-right:-11px}
.pb-generic .row > [class*="col"]{padding-left:11px;padding-right:11px}

/* Cards */
.pb-generic .card,.pb-generic .panel{background:#FFFFFF;border:1px solid #E4E8EE;border-radius:18px;box-shadow:0 10px 30px rgba(16,24,40,.05);overflow:hidden;margin-bottom:22px}
.pb-generic .card-header,.pb-generic .panel-heading{background:#FFFFFF;border-bottom:1px solid #ECEEF2;padding:16px 22px;font-family:'Poppins',sans-serif;font-weight:600}
.pb-generic .card-header h3,.pb-generic .card-header .card-title{font-size:17px;margin:0}
.pb-generic .card-body{padding:22px}
.pb-generic .card-footer{background:#FAFBFC;border-top:1px solid #ECEEF2;padding:14px 22px}
.pb-generic .card-body.extra-padding{padding:28px}
.pb-generic .mw-540{max-width:560px;margin-left:auto;margin-right:auto}

/* Sidebar */
.pb-generic .sidebar .card{border-radius:16px;margin-bottom:18px}
.pb-generic .sidebar .card-header{padding:14px 18px;font-size:14px}
.pb-generic .sidebar .card-header .card-title{font-size:14px}
.pb-generic .sidebar .card-header i{color:#0072EF}
.pb-generic .list-group-item{border:0;border-top:1px solid #F0F2F5;padding:11px 18px;font-size:14px;color:#1C1C1C;background:#FFFFFF}
.pb-generic .list-group-item:first-child{border-top:0}
.pb-generic .list-group-item-action:hover,.pb-generic .list-group-item:hover{background:#F7FAFE;color:#0062CC}
.pb-generic .list-group-item.active{background:#E6F0FD;color:#0B4FA8;border-color:transparent;font-weight:500}
.pb-generic .list-group-item.active .badge{background:#0072EF;color:#FFFFFF}
.pb-generic .list-group-item i{color:#5A6270}

/* Buttons */
.pb-generic .btn,.pb-auth-card .btn,.modal .btn{font-family:'Poppins',sans-serif;font-weight:500;font-size:14px;border-radius:2px;padding:10px 18px;line-height:1.3;transition:background-color .15s ease,color .15s ease,border-color .15s ease,transform .15s ease;box-shadow:none}
.pb-generic .btn:hover{transform:translateY(-1px)}
.pb-generic .btn-sm{padding:7px 12px;font-size:13px}
.pb-generic .btn-lg{padding:14px 24px;font-size:16px}
.pb-generic .btn-primary,.pb-auth-card .btn-primary,.modal .btn-primary,.pb-generic .btn-success,.pb-generic .btn-info{background:#0072EF;border:1px solid #0072EF;color:#FFFFFF}
.pb-generic .btn-primary:hover,.pb-generic .btn-success:hover,.pb-generic .btn-info:hover,.modal .btn-primary:hover{background:#005BC0;border-color:#005BC0;color:#FFFFFF}
.pb-generic .btn-default,.pb-generic .btn-secondary,.pb-generic .btn-light,.pb-generic .btn-outline-primary,.pb-auth-card .btn-default,.modal .btn-default{background:#FFFFFF;border:1px solid #4B515F;color:#1C1C1C}
.pb-generic .btn-default:hover,.pb-generic .btn-secondary:hover,.pb-generic .btn-light:hover,.pb-generic .btn-outline-primary:hover,.modal .btn-default:hover{background:#4B515F;border-color:#4B515F;color:#FFFFFF}
.pb-generic .btn-danger{background:#FFFFFF;border:1px solid #E5484D;color:#A3302A}
.pb-generic .btn-danger:hover{background:#E5484D;color:#FFFFFF}
.pb-generic .btn-warning{background:#FFF6DB;border:1px solid #F2D27A;color:#8A5A00}
.pb-generic .btn-link{color:#0062CC;padding-left:0;padding-right:0}
.pb-generic .btn:focus,.pb-generic .btn.focus{box-shadow:0 0 0 4px rgba(0,114,239,.18)}

/* Forms */
.pb-generic .form-control,.pb-generic .custom-select,.pb-auth-card .form-control,.pb-2fa .form-control,.modal .form-control{font-family:'Roboto',sans-serif;font-size:15px;color:#1C1C1C;border:1px solid #D5DAE2;border-radius:8px;background:#FAFBFC;min-height:46px;padding:10px 14px;height:auto;box-shadow:none}
.pb-generic textarea.form-control{min-height:120px}
.pb-generic .form-control:focus,.pb-generic .custom-select:focus,.pb-auth-card .form-control:focus,.pb-2fa .form-control:focus,.modal .form-control:focus{outline:none;border-color:#0072EF;background:#FFFFFF;box-shadow:0 0 0 4px rgba(0,114,239,.14)}
.pb-generic label,.pb-generic .col-form-label,.pb-generic .control-label,.pb-auth-card label{font-family:'Poppins',sans-serif;font-weight:500;font-size:14px;color:#1C1C1C}
.pb-generic .input-group-text{background:#F1F4F8;border:1px solid #D5DAE2;color:#5A6270;border-radius:8px}
.pb-generic .input-group > .form-control:not(:last-child),.pb-generic .input-group > .input-group-prepend > .input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}
.pb-generic .input-group > .input-group-prepend + .form-control,.pb-generic .input-group > .input-group-append > .btn,.pb-generic .input-group > .input-group-append > .input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}
.pb-generic .form-check-input,.pb-generic input[type=checkbox],.pb-generic input[type=radio]{accent-color:#0072EF}
.pb-generic .field-help-text,.pb-generic .form-text{color:#5A6270;font-size:13px}
.pb-generic .has-error .form-control,.pb-generic .is-invalid{border-color:#E5484D}
.pb-generic fieldset{border:0;padding:0}

/* Tables */
.pb-generic .table{color:#1C1C1C;font-size:14px;margin-bottom:0}
.pb-generic .table thead th,.pb-generic .table th{font-family:'Roboto',sans-serif;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#5A6270;background:#FAFBFC;border-top:0;border-bottom:1px solid #ECEEF2;padding:12px 16px;vertical-align:middle}
.pb-generic .table td{border-top:1px solid #F0F2F5;padding:14px 16px;vertical-align:middle}
.pb-generic .table-hover tbody tr:hover,.pb-generic .table-list tbody tr:hover{background:#F7FAFE}
.pb-generic .table-container,.pb-generic .table-responsive{background:#FFFFFF;border:1px solid #E4E8EE;border-radius:18px;overflow:hidden;box-shadow:0 10px 30px rgba(16,24,40,.05)}
.pb-generic .dataTables_wrapper .dataTables_filter input,.pb-generic .dataTables_wrapper .dataTables_length select{border:1px solid #D5DAE2;border-radius:8px;padding:6px 10px;background:#FAFBFC}
.pb-generic .dataTables_wrapper .dataTables_info{color:#5A6270;font-size:13px}
.pb-generic .listtable{background:transparent}

/* Status labels */
.pb-generic .label,.pb-generic .badge{display:inline-flex;align-items:center;gap:6px;font-family:'Roboto',sans-serif;font-size:12px;font-weight:500;padding:4px 10px;border-radius:999px;line-height:1.3;text-transform:none;letter-spacing:0}
.pb-generic .label.status{border:0}
.pb-generic .status-active,.pb-generic .status-paid,.pb-generic .status-completed,.pb-generic .status-answered,.pb-generic .badge-success,.pb-generic .label-success{background:#E7F6EC !important;color:#1D6B3A !important}
.pb-generic .status-pending,.pb-generic .status-pending-transfer,.pb-generic .status-customer-reply,.pb-generic .status-in-progress,.pb-generic .status-on-hold,.pb-generic .badge-warning,.pb-generic .label-warning,.pb-generic .status-payment-pending{background:#FFF4D6 !important;color:#7A4F00 !important}
.pb-generic .status-unpaid,.pb-generic .status-overdue,.pb-generic .status-suspended,.pb-generic .status-expired,.pb-generic .status-fraud,.pb-generic .badge-danger,.pb-generic .label-danger,.pb-generic .status-collections{background:#FFE9EC !important;color:#A3302A !important}
.pb-generic .status-open,.pb-generic .badge-info,.pb-generic .label-info,.pb-generic .badge-primary{background:#E6F0FD !important;color:#0B4FA8 !important}
.pb-generic .status-closed,.pb-generic .status-cancelled,.pb-generic .status-terminated,.pb-generic .status-refunded,.pb-generic .status-draft,.pb-generic .badge-secondary,.pb-generic .badge-default,.pb-generic .label-default,.pb-generic .badge-dark{background:#F1F4F8 !important;color:#444B57 !important}

/* Alerts */
.pb-generic .alert,.pb-auth-card .alert{border-radius:12px;border:1px solid;padding:12px 16px;font-size:14px}
.pb-generic .alert-success{background:#F1FAF4;border-color:#CDEBD7;color:#1D6B3A}
.pb-generic .alert-danger,.pb-generic .alert-error,.pb-auth-card .alert-danger{background:#FFF1F2;border-color:#F6C9CD;color:#8E2A24}
.pb-generic .alert-warning{background:#FFF8E6;border-color:#F2D27A;color:#5A4A1A}
.pb-generic .alert-info{background:#EEF5FF;border-color:#C9DCF5;color:#0B4FA8}

/* Tabs, pills and pagination */
.pb-generic .nav-tabs{border-bottom:1px solid #E4E8EE;gap:4px}
.pb-generic .nav-tabs .nav-link{border:0;border-radius:8px 8px 0 0;color:#444B57;font-family:'Poppins',sans-serif;font-weight:500;font-size:14px;padding:10px 14px}
.pb-generic .nav-tabs .nav-link.active{color:#0B4FA8;background:transparent;box-shadow:inset 0 -2px 0 #0072EF}
.pb-generic .nav-pills .nav-link{border-radius:999px;color:#1C1C1C;font-weight:500}
.pb-generic .nav-pills .nav-link.active{background:#2E323B;color:#FFFFFF}
.pb-generic .pagination .page-link{border:1px solid #E4E8EE;color:#1C1C1C;margin:0 3px;border-radius:8px !important}
.pb-generic .pagination .page-item.active .page-link{background:#2E323B;border-color:#2E323B;color:#FFFFFF}

/* Client area home tiles (if shown) and product lists */
.pb-generic .tiles .tile{background:#FFFFFF;border:1px solid #E4E8EE;border-radius:16px}
.pb-generic .div-service-item,.pb-generic .div-service-status{font-size:14px}

/* Store (Nexus cart) */
.pb-generic #order-standard_cart .header-lined h1,.pb-generic #order-nexus_cart .header-lined h1{font-family:'Poppins',sans-serif;font-weight:600}
.pb-generic .products .product,.pb-generic .product{border:1px solid #E4E8EE;border-radius:18px;box-shadow:0 10px 30px rgba(16,24,40,.05);background:#FFFFFF}
.pb-generic .product header{background:transparent;border-bottom:1px solid #ECEEF2;font-family:'Poppins',sans-serif}
.pb-generic .order-summary,.pb-generic .summary-container{border-radius:18px;overflow:hidden}
.pb-generic .order-summary h2{background:#2E323B;font-family:'Poppins',sans-serif;font-weight:600}
.pb-generic .domain-checker-container{background:linear-gradient(165deg,#0F2A52 0%,#11396F 55%,#0B5FC8 125%);border-radius:18px}

/* Knowledgebase and announcements */
.pb-generic .kb-search .form-control{min-height:52px}

/* Invoice page keeps its own layout but takes the type */
body.pb-tf-viewinvoice .pb-generic .invoice-container{border-radius:18px;border:1px solid #E4E8EE;box-shadow:0 10px 30px rgba(16,24,40,.05)}

/* Modals */
.modal-content{border:0;border-radius:18px;box-shadow:0 40px 90px rgba(16,24,40,.25);font-family:'Roboto',sans-serif}
.modal-header{border-bottom:1px solid #ECEEF2;padding:16px 22px}
.modal-title{font-family:'Poppins',sans-serif;font-weight:600}
.modal-footer{border-top:1px solid #ECEEF2}

/* Two-step sign in uses WHMCS markup inside the sign-in card */
.pb-2fa .form-group{margin-bottom:14px}
.pb-2fa .btn{width:100%;background:#0072EF;border:0;color:#FFFFFF;font-family:'Poppins',sans-serif;font-weight:600;border-radius:2px;padding:14px 18px}
.w-hidden{display:none}
#frmTwoFactorBackup:not(.w-hidden){display:flex}

@media (max-width:767px){
  .pb-generic .gen-wrap,.pb-generic .pb-gen-wrap{padding:20px 16px 110px}
  .pb-generic .card-body{padding:18px}
  .pb-generic .table td,.pb-generic .table th{padding:12px}
}
