@charset "UTF-8";
/* ROOT302 child theme. Native forms, Bootstrap behaviour and module HTML remain intact. */
body.root302{--r3-blue:#3168f5;--r3-ink:#172640;--r3-muted:#526580;--r3-line:#e6ecf4;background:#f5f7fb;color:var(--r3-ink);font-family:"Segoe UI","Microsoft YaHei",Arial,sans-serif;font-size:14px;line-height:1.65}
.root302 a{transition:color .15s,background-color .15s}.root302 a:focus-visible,.root302 button:focus-visible,.root302 input:focus-visible,.root302 select:focus-visible{outline:3px solid #92b1ff;outline-offset:3px}.r3-skip{position:fixed;top:-100px;left:20px;z-index:99999;background:white;padding:12px 20px;border-radius:8px}.r3-skip:focus{top:15px}.root302 .container{max-width:1280px}
.root302 .header{background:white;border-bottom:1px solid var(--r3-line)}.root302 .header .topbar{background:#f6f8fc;color:#687d9c;font-size:12px;padding:5px 0}.root302 .topbar .btn,.root302 .topbar .input-group-text{color:#6e809d;border:0;background:transparent;font-size:12px}.root302 .header .navbar-light{padding:20px 0}.root302 .header .navbar-brand{font-size:23px;font-weight:750;letter-spacing:1px;color:#1a2b48}.root302 .logo-img{max-height:40px;max-width:190px;object-fit:contain}.r3-wordmark{display:flex;align-items:center;gap:11px}.r3-symbol{width:33px;height:33px;border:2px solid currentColor;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;font-size:21px;line-height:1;flex-shrink:0}.root302 .header .main-navbar-wrapper{background:white;border-top:1px solid #f5f7fb}.root302 .main-navbar-wrapper .navbar-nav>.nav-item>a{color:#667e9d;font-size:13px}.root302 .main-navbar-wrapper .navbar-nav>.nav-item>a:hover{color:var(--r3-blue);background:#f2f6ff}.root302 .navbar .search .form-control{background:#f7f9fd;border-color:#eef2f8;border-radius:0 8px 8px 0;font-size:12px}.root302 .navbar .search .btn{background:#f7f9fd;border-color:#eef2f8}.root302 .header .cart-btn{color:#7087aa;background:#f8faff;border:1px solid #e6edf7;border-radius:7px}.root302 .header .badge-info{background:#3168f5}
.root302 .master-breadcrumb{background:transparent;font-size:12px;border:0;padding:10px 0}.root302 .breadcrumb{background:transparent;color:#9aa7bb}.root302 .breadcrumb a{color:#889dbd}.root302 #main-body{min-height:55vh;padding-top:18px;padding-bottom:30px}.root302 .header-lined h1{color:var(--r3-ink);font-size:27px;font-weight:650;border:0;letter-spacing:-.5px}.root302 .header-lined p{color:var(--r3-muted);font-size:13px}.root302 .card,.root302 .panel{border:1px solid var(--r3-line);border-radius:13px;box-shadow:0 8px 30px #183b5005;overflow:visible}.root302 .card-header,.root302 .panel-heading{background:white;border-bottom:1px solid #edf1f7;padding:19px 22px;border-radius:13px 13px 0 0}.root302 .card-title,.root302 .panel-title{font-size:15px;font-weight:600;color:#30496c}.root302 .card-body{padding:24px}.root302 .card-footer{background:#fafbfd;border-top:1px solid #eff3f8;border-radius:0 0 13px 13px;font-size:11px}.root302 .sidebar .card{margin-bottom:18px}.root302 .sidebar .card-header{padding:15px 18px}.root302 .sidebar .card-body{font-size:12px;padding:18px}.root302 .sidebar .list-group-item{font-size:12px;padding:12px 18px;border-color:#eef2f7}.root302 .list-group-item.active{background:#edf3ff;color:#3168f5;border-color:#edf3ff}.root302 .list-group-item-action:hover{background:#f7faff}.root302 .sidebar .card-header i{color:#92a6c8}
.root302 .btn{border-radius:7px;font-size:13px;padding:9px 17px;font-weight:500;transition:.15s}.root302 .btn-sm,.root302 .btn-xs{padding:6px 11px;font-size:11px}.root302 .btn-primary,.root302 .btn-primary:focus{background:#3168f5;border-color:#3168f5;box-shadow:0 4px 12px #3168f515}.root302 .btn-primary:hover{background:#2258db;border-color:#2258db}.root302 .btn-outline-primary{color:#3168f5;border-color:#cfddfb;background:white}.root302 .btn-outline-primary:hover{background:#edf3ff;color:#2157df;border-color:#8babf2}.root302 .btn-default{background:white;border-color:#dfe7f2;color:#6b7e9a}.root302 .btn-default:hover{background:#f3f7fe;color:#3168f5}.root302 .btn-success{background:#249b80;border-color:#249b80}.root302 .btn-danger{background:#fff2f3;color:#bd4e5b;border-color:#f3dce0}.root302 .btn-danger:hover{background:#fce5e8;color:#a63144}.root302 .form-control,.root302 .custom-select{border:1px solid #dfe6f0;border-radius:7px;box-shadow:none;color:#536783;font-size:13px;background-color:white;min-height:41px}.root302 textarea.form-control{min-height:120px}.root302 label{font-size:12px;color:#778ba8}.root302 .form-group{margin-bottom:22px}.root302 .form-control:focus{border-color:#86a8fa;box-shadow:0 0 0 3px #3168f512}.root302 .input-group-text{border-color:#dfe6f0;background:#f7f9fd;color:#8ba0c0}.root302 .alert{border-radius:8px;font-size:13px;border-width:1px}.root302 .alert-info{background:#edf3ff;color:#6885b8;border-color:#dce7fd}.root302 .alert-warning{background:#fff8ed;color:#af8848;border-color:#f5e7d0}.root302 .alert-success{background:#edf8f3;border-color:#d9efe4;color:#398c6b}.root302 .alert-danger{background:#fff2f3;border-color:#f4dce1;color:#b45966}.root302 .nav-tabs{border-bottom:1px solid var(--r3-line);gap:6px}.root302 .nav-tabs .nav-link{font-size:13px;color:#8495ae;border:0;border-radius:7px 7px 0 0;padding:12px 17px}.root302 .nav-tabs .nav-link.active{color:#3168f5;background:white;border-bottom:2px solid #3168f5}
.root302 .table-container{border:1px solid var(--r3-line);border-radius:12px;background:white;padding:15px;overflow-x:auto}.root302 table.table{font-size:12px;border:0;color:#6b7e99}.root302 .table thead th{background:#f8fafd;font-weight:500;font-size:11px;color:#8a9db8;padding:15px;border:0;white-space:nowrap}.root302 .table tbody td{padding:19px 15px;border-top:1px solid #edf2f7;vertical-align:middle}.root302 .table tbody tr:hover{background:#f8fbff}.root302 .table td a{color:#466ea9}.root302 .table td strong{color:#30496b;font-weight:600}.root302 .table-list>tbody>tr>td .label{border-radius:5px;padding:5px 9px;white-space:nowrap;font-size:11px}.root302 .status-active,.root302 .status-paid{color:#299675;background:#eaf7f1;border:0}.root302 .status-pending,.root302 .status-unpaid{color:#c18b37;background:#fff4e3;border:0}.root302 .status-cancelled,.root302 .status-terminated{background:#f0f3f7;color:#8e9aae;border:0}.root302 .dataTables_wrapper .dataTables_filter input{border:1px solid #dfe6f0;border-radius:7px;padding:8px;color:#536783;max-width:100%}.root302 .dataTables_wrapper .dataTables_length select{border:1px solid #dfe6f0;border-radius:5px;color:#657b9b}.root302 .pagination .page-item.active .page-link{background:#3168f5;border-color:#3168f5}.root302 .page-link{color:#7291be;border-color:#e6ecf4;font-size:12px}
.root302 .tiles{background:transparent}.root302 .tiles>.row{margin:0 -8px}.root302 .tiles>.row>div{padding:0 8px}.root302 .tiles .tile{background:white;border:1px solid var(--r3-line);border-radius:11px;padding:23px;min-height:133px;margin-bottom:15px;position:relative}.root302 .tiles .tile .stat{font-size:30px;font-weight:600;color:#253d62}.root302 .tiles .tile .title{font-size:12px;color:#8497b1;margin-top:4px}.root302 .tiles .tile i{font-size:25px;color:#92b0ee;opacity:1;top:26px;right:22px}.root302 .tiles .tile .highlight{display:none}.root302 .client-home-cards .card{margin-bottom:23px;border-top:1px solid var(--r3-line)}.root302 .client-home-cards .card-title>i{color:#90a8d1}.root302 .client-home-cards .list-group-item{border-color:#eef2f7;padding:16px 22px;font-size:12px;color:#627b9c}.root302 .client-home-cards .card-body{font-size:13px;color:#8194af;line-height:1.9}.root302 .client-home-cards .card-header .btn{background:#eff4ff;color:#6087cf;padding:5px 9px;font-size:10px;border:0}.r3-eyebrow{font-size:10px;color:#7d9ad0;letter-spacing:2px;margin-bottom:10px}.r3-page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px}.r3-page-heading h1{font-size:26px;font-weight:650;margin:0 0 7px}.r3-page-heading p{font-size:12px;color:#8b9cb5;margin:0}.r3-workspace-banner{border-radius:14px;background:#eaf1ff;padding:27px 30px;display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden;margin-bottom:25px}.r3-workspace-banner:before{content:"";position:absolute;border:60px solid #dce8ff;width:320px;height:320px;border-radius:50%;right:30px;top:-170px;opacity:.75}.r3-workspace-banner>div{position:relative;z-index:1}.r3-workspace-banner h2{font-size:21px;font-weight:650;color:#274676}.r3-workspace-banner p{font-size:12px;color:#8098bd;margin:10px 0 17px}.r3-banner-stack{width:110px;margin:0 45px 0 20px;transform:rotate(-9deg)}.r3-banner-stack i,.r3-server-stack i{display:block;height:26px;margin:7px 0;border:1px solid #afc9f9;border-radius:5px;background:linear-gradient(120deg,white,#c2d8ff);box-shadow:7px 7px 0 #b9d0fb66;position:relative}.r3-banner-stack i:before,.r3-server-stack i:before{content:"";width:30px;height:4px;background:#739df0;position:absolute;top:10px;left:10px;border-radius:2px}.r3-banner-stack i:after,.r3-server-stack i:after{content:"";width:4px;height:4px;background:#5587e6;border-radius:50%;position:absolute;right:10px;top:10px}.r3-quick-links{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:8px 0 25px}.r3-quick-links a{padding:17px;background:white;border:1px solid var(--r3-line);border-radius:9px;color:#7a91b2;text-align:center;font-size:12px}.r3-quick-links i{margin-right:7px;color:#7c9bd3}
.r3-sidebar{position:fixed;inset:0 auto 0 0;width:236px;background:#101c32;padding:32px 18px 20px;color:#91a1bb;z-index:1040;display:flex;flex-direction:column;overflow-y:auto}.r3-brand{color:white!important;font-size:22px;letter-spacing:1px;font-weight:750;display:flex;align-items:center;gap:11px;padding:0 14px;margin-bottom:38px;word-break:break-word}.r3-nav-caption{font-size:10px;letter-spacing:1.8px;padding:0 15px;margin:18px 0 10px;color:#60728f}.r3-nav-link{padding:12px 16px;color:#92a2bc;font-size:13px;display:flex;gap:13px;align-items:center;border-radius:8px;margin:4px 0}.r3-nav-link i{width:19px;text-align:center}.r3-nav-link:hover{text-decoration:none;background:#ffffff08;color:#fff}.r3-nav-link.active{background:#2f66ed;color:white;box-shadow:0 6px 18px #0001}.r3-side-bottom{margin-top:auto;padding-top:35px}.r3-side-help{padding:18px;background:#1c2b44;border:1px solid #ffffff06;border-radius:11px;font-size:12px;margin:0 6px 15px}.r3-side-help strong{display:block;color:#e0e9f8;font-weight:500;font-size:12px}.r3-side-help p{font-size:11px;margin:7px 0 12px;color:#7b8fac}.r3-side-help a{color:#8caef4;font-size:11px}.r3-side-help i{margin-left:8px}.r3-home-link{display:block;margin:10px 18px;color:#8095b4;font-size:11px}.r3-home-link i{margin-right:8px}.r3-side-bottom>small{font-size:9px;color:#5c718f;letter-spacing:1px;padding:0 18px}.r3-menu-toggle{display:none}.r3-backdrop[hidden]{display:none}
@media(min-width:1200px){.root302-console{padding-left:236px}.root302-console .container{max-width:1500px;padding-left:32px;padding-right:32px}.root302-console .header .navbar-brand{display:none}.root302-console .header .navbar-light{padding:11px 0}.root302-console .header .navbar-light .form-inline{margin-left:0!important;margin-right:auto}.root302-console .header .topbar{background:white;border-bottom:1px solid #f2f5f9}.root302-console .header .main-navbar-wrapper .navbar-nav>.nav-item>a{font-size:11px;padding:7px 10px}.root302-console .header .main-navbar-wrapper{border-top:0}.root302-console #main-body>.container>.row>.col-lg-4.col-xl-3{flex:0 0 22%;max-width:22%;order:2}.root302-console #main-body>.container>.row>.primary-content{flex:0 0 78%;max-width:78%;order:1}.root302-console .sidebar{padding-left:9px}.root302-console .master-breadcrumb{padding:6px 0}.root302-console #main-body{padding-top:20px}.root302-console .footer{margin-top:10px}}
.root302 .product-details .product-status{border-radius:12px;overflow:hidden;background:#f1f5fd}.root302 .product-details .product-icon{padding:28px 20px;background:#eef3fc}.root302 .product-details .product-icon .fa-stack{font-size:25px}.root302 .product-details .product-icon .fa-circle{color:#dce7fb}.root302 .product-details .product-icon .fa-inverse{color:#658cd0}.root302 .product-details .product-icon h3{font-size:20px;color:#345682;margin-top:18px}.root302 .product-details .product-icon h4{font-size:13px;color:#8c9eb7}.root302 .product-details .product-status-text{padding:9px;font-size:12px}.root302 .product-status-active .product-status-text{background:#e8f7f0;color:#289873}.root302 .product-details h4{font-size:12px;color:#91a3bc;margin-top:18px}.root302 .product-details .product-actions-wrapper .btn{font-size:12px}.root302 .logincontainer{max-width:470px;margin:35px auto;background:white;border:1px solid var(--r3-line);border-radius:15px;padding:35px}.root302 .logincontainer .header-lined h1{font-size:26px}.root302 .logincontainer .btn-block{padding:12px}.root302 .ticket-reply{border:1px solid var(--r3-line);border-radius:12px;overflow:hidden;margin-bottom:20px}.root302 .ticket-reply .user{background:#f7faff;color:#637e9f}.root302 .ticket-reply .message{padding:22px;font-size:13px;line-height:1.9}.root302 .markdown-content{overflow-wrap:anywhere}.root302 .footer{background:#f5f7fb;border-top:1px solid var(--r3-line);padding:25px 0;color:#9aaac0;font-size:11px}.root302 .footer .btn,.root302 .footer .nav-link{font-size:11px;color:#91a0b6}.root302 .footer .copyright{font-size:10px}
.root302-home{background:white!important}.root302-home .master-breadcrumb{display:none}.root302-home #main-body{padding-top:0}.root302-home .header .navbar-light .form-inline{display:none!important}.root302-home .header .navbar-brand{margin-right:auto!important}.root302-home .primary-content{width:100%}.r3-hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:65px;padding:75px 5px 65px}.r3-hero h1{font-size:49px;line-height:1.35;letter-spacing:-1.5px;font-weight:750;color:#172e50;margin-bottom:24px}.r3-hero h1 span{color:#3168f5}.r3-hero-copy>p{font-size:14px;color:#8a9ab2;line-height:2;margin-bottom:28px}.r3-actions{display:flex;gap:13px;flex-wrap:wrap}.r3-actions .btn i{margin-left:10px}.r3-hero-meta{font-size:11px;color:#9cacc2;margin-top:23px}.r3-hero-meta span{margin:0 12px;color:#c6d1e0}.r3-hero-art{height:330px;background:radial-gradient(ellipse at center,#dfebff,transparent 72%);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.r3-server-stack{width:200px;position:relative;transform:perspective(600px) rotateY(-20deg) rotateX(15deg) rotateZ(-6deg);z-index:1}.r3-server-stack i{height:53px;margin:14px 0;border-radius:10px;box-shadow:12px 13px 0 #bed2f555}.r3-server-stack i:before{width:70px;height:7px;top:23px;left:20px}.r3-server-stack i:after{width:7px;height:7px;right:20px;top:23px}.r3-orbit{position:absolute;width:350px;height:230px;border:1px dashed #b7caed;border-radius:50%;transform:rotate(-25deg)}.r3-float{position:absolute;background:white;border:1px solid #e7effd;padding:12px 16px;border-radius:10px;box-shadow:0 10px 40px #183b7010;font-size:11px;color:#6f87ae;z-index:2}.r3-float-top{top:40px;right:5px}.r3-float-bottom{bottom:35px;left:0}.r3-float-bottom span{display:inline-block;width:5px;height:5px;border-radius:50%;background:#66a68e;margin-right:6px}.r3-home-section{padding:45px 0}.r3-section-title{text-align:center;margin-bottom:35px}.r3-section-title h2{font-size:27px;font-weight:650;margin-bottom:12px}.r3-section-title p{font-size:12px;color:#95a5bb}.r3-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:23px}.r3-group{padding:30px;border:1px solid #e5ecf6;border-radius:13px;background:#fff;box-shadow:0 8px 30px #183b5004;transition:.2s}.r3-group:hover{border-color:#b8cef7;transform:translateY(-3px)}.r3-group-icon{color:#658fdd;background:#edf3ff;border-radius:10px;width:43px;height:43px;font-size:20px;display:flex;align-items:center;justify-content:center;margin-bottom:22px}.r3-group h3{font-size:21px;margin-bottom:12px}.r3-group p{font-size:12px;color:#8fa0b8;min-height:38px}.r3-group .btn{margin-top:10px}.r3-group .btn i{margin-left:14px}.r3-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.r3-feature-grid article{padding:25px;border:1px solid #edf1f8;border-radius:12px}.r3-feature-grid article>i{font-size:25px;color:#608ce3;margin-bottom:22px}.r3-feature-grid h3{font-size:15px;font-weight:600}.r3-feature-grid p{color:#91a2ba;font-size:12px;line-height:1.9;margin-bottom:0}.r3-cta{background:#101c32;padding:38px;border-radius:15px;color:white;display:flex;align-items:center;justify-content:space-between;margin:35px 0}.r3-cta h2{font-size:23px;font-weight:600}.r3-cta p{color:#8b9eba;font-size:12px;margin-bottom:0}.r3-home-resources{display:flex;justify-content:center;gap:30px;padding:20px;flex-wrap:wrap;font-size:12px;color:#8ba0be}.r3-domain-links{padding:15px;display:flex;gap:20px;justify-content:center;font-size:12px}
.root302-invoice{background:#f4f7fc;padding:35px 15px}.root302-invoice .invoice-container{max-width:1040px;background:white;border:1px solid #e4ebf5;border-radius:16px;box-shadow:0 15px 55px #142b4b08;padding:45px}.root302-invoice .invoice-header{margin-bottom:30px}.root302-invoice .invoice-header h2{font-weight:750;color:#203b65;font-size:27px}.root302-invoice .invoice-header h3{font-size:19px;color:#8299ba}.root302-invoice .invoice-status{margin-top:12px}.root302-invoice .invoice-status span{font-size:14px;padding:9px 20px;border:0;border-radius:7px}.root302-invoice .invoice-status .unpaid{background:#fff3df;color:#bf923f}.root302-invoice .invoice-status .paid{background:#e9f7f0;color:#28936e}.root302-invoice .payment-btn-container{padding:20px}.root302-invoice .table{margin:20px 0}.root302-invoice .invoice-col{padding-bottom:15px}
@media(max-width:1199px){.root302-console .r3-sidebar{transform:translateX(-100%);transition:.2s}.root302-console.r3-nav-open .r3-sidebar{transform:translateX(0)}.root302-console .r3-menu-toggle{display:inline-flex;margin-right:15px}.root302-console .r3-backdrop:not([hidden]){position:fixed;inset:0;background:#11213d88;border:0;z-index:1035;display:block;width:100%;height:100%}.r3-hero{gap:25px}.r3-hero h1{font-size:40px}.r3-banner-stack{margin-right:10px}}
@media(max-width:767px){.root302 .container{padding-left:18px;padding-right:18px}.root302 #main-body{padding-top:10px}.root302 .header .navbar-light{padding:14px 0}.root302 .header .navbar-brand{font-size:19px}.root302 .topbar .input-group-text{display:none}.root302 .topbar .btn{font-size:11px}.root302 .card-body{padding:19px}.r3-page-heading{align-items:flex-start;gap:10px}.r3-page-heading h1{font-size:22px}.r3-page-heading .btn{font-size:11px;white-space:nowrap;padding:9px 12px}.r3-page-heading .r3-eyebrow{font-size:9px}.r3-workspace-banner{padding:22px}.r3-workspace-banner h2{font-size:18px}.r3-workspace-banner p{font-size:11px}.r3-banner-stack{width:70px;margin:0 0 0 10px;flex-shrink:0}.r3-workspace-banner .r3-eyebrow{font-size:8px}.r3-quick-links{grid-template-columns:1fr 1fr}.r3-hero{grid-template-columns:1fr;padding:45px 2px 20px;gap:10px}.r3-hero h1{font-size:37px}.r3-hero p{font-size:13px}.r3-hero-art{height:270px}.r3-home-section{padding:30px 0}.r3-section-title h2{font-size:23px}.r3-feature-grid{grid-template-columns:1fr;gap:16px}.r3-cta{padding:27px;display:block}.r3-cta h2{font-size:21px}.r3-cta .btn{margin-top:20px}.r3-home-resources{gap:20px}.root302 .tiles .tile{padding:18px;min-height:120px}.root302 .tiles .tile .stat{font-size:27px}.root302 .tiles .tile i{font-size:20px;top:25px;right:16px}.root302 .logincontainer{padding:25px;margin:15px auto}.root302-invoice{padding:15px 7px}.root302-invoice .invoice-container{padding:25px 15px}.root302 .table-container{padding:10px}.root302 .table tbody td{padding:15px 12px}.root302 .card-header{padding:17px 19px}}
@media print{.root302-invoice{background:white;padding:0}.root302-invoice .invoice-container{border:0;border-radius:0;box-shadow:none;padding:0}.r3-sidebar,.r3-menu-toggle,.r3-backdrop{display:none!important}.root302-console{padding-left:0}}
@media(prefers-reduced-motion:reduce){.root302 *{transition:none!important;scroll-behavior:auto!important}}

/* ROOT302 accessibility refinement: preserve brand, improve reading and focus. */
body.root302 .r3-page-heading p,
body.root302 .r3-section-title p,
body.root302 .r3-group p,
body.root302 .r3-feature-grid p,
body.root302 .r3-hero-copy > p,
body.root302 .r3-hero-meta {
    color: var(--r3-muted);
}
body.root302 .r3-eyebrow {
    color: #526580;
}
body.root302 :is(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 3px solid #2456c7;
    outline-offset: 3px;
}
body.root302 .r3-sidebar :is(a, button):focus-visible {
    outline-color: #a6c4ff;
    outline-offset: -3px;
}
body.root302 .r3-sidebar {
    overscroll-behavior: contain;
}
body.root302 :is(button, a.btn) {
    touch-action: manipulation;
}
body.root302 :is(.r3-page-heading h1, .r3-section-title h2, .r3-hero h1) {
    text-wrap: balance;
}
body.root302 :is(.table .text-right, .tile .stat) {
    font-variant-numeric: tabular-nums;
}


/* Align the workspace shell with its fixed sidebar, including wide monitors. */
body.root302-console {
    --r3-workspace-gutter: 32px;
}
body.root302-console .container {
    max-width: none;
    width: 100%;
    padding-left: var(--r3-workspace-gutter);
    padding-right: var(--r3-workspace-gutter);
}
body.root302 .r3-brand,
body.root302 .r3-brand:hover,
body.root302 .r3-brand:focus {
    text-decoration: none;
}
/* The dashboard uses the full workspace; secondary navigation lives in the shell. */
body.root302-dashboard #main-body .primary-content {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}
body.root302-dashboard .r3-page-heading {
    margin-bottom: 24px;
}
body.root302-dashboard .tiles.mb-4 {
    margin-bottom: 9px !important;
}
body.root302-dashboard .client-home-cards .card {
    margin-bottom: 24px;
}
body.root302-dashboard .tiles .tile .title {
    font-size: 14px;
}
@media (max-width: 1199px) {
    body.root302-console { --r3-workspace-gutter: 24px; }
}
@media (max-width: 767px) {
    body.root302-console { --r3-workspace-gutter: 18px; }
    body.root302-dashboard .r3-page-heading { flex-wrap: wrap; }
    body.root302-dashboard .r3-workspace-banner p { font-size: 13px; }
}

/* Credit is formatted by WHMCS in the client's account currency. */
body.root302-dashboard .tiles .r3-balance-tile { padding-top: 18px; padding-bottom: 16px; }
body.root302-dashboard .tiles .r3-balance-tile .stat {
    font-size: clamp(18px, 1.8vw, 26px);
    overflow-wrap: anywhere;
    padding-right: 28px;
}
body.root302-dashboard .r3-balance-action {
    display: inline-block;
    margin-top: 6px;
    color: var(--r3-primary, #2456c7);
    font-size: 13px;
}

/* Personal overview: live WHMCS account data, with no promotional counters. */
body.root302-dashboard .r3-account-overview {
    display: grid;
    grid-template-columns: minmax(200px, 1.25fr) minmax(190px, 1.2fr) repeat(3, minmax(105px, .8fr));
    gap: 0;
    align-items: stretch;
    margin-bottom: 22px;
    padding: 22px 8px;
    border: 1px solid #41557b;
    border-radius: 14px;
    background: linear-gradient(115deg, #253754, #465a82);
    color: #fff;
}
body.root302-dashboard .r3-account-overview > * {
    min-width: 0;
    padding: 0 22px;
}
body.root302-dashboard .r3-account-overview > * + * { border-left: 1px solid #ffffff26; }
body.root302-dashboard .r3-overview-profile {
    display: flex;
    align-items: center;
    gap: 14px;
    color: #fff;
    text-decoration: none;
}
body.root302-dashboard .r3-overview-profile > div { min-width: 0; }
body.root302-dashboard .r3-overview-avatar {
    display: grid;
    place-items: center;
    flex: 0 0 46px;
    height: 46px;
    border-radius: 50%;
    background: #5684e9;
    color: #fff;
    font-size: 22px;
}
body.root302-dashboard .r3-overview-profile h1 {
    margin: 3px 0;
    color: #fff;
    font-size: 19px;
    font-weight: 600;
    line-height: 1.4;
    overflow-wrap: anywhere;
}
body.root302-dashboard .r3-overview-caption,
body.root302-dashboard .r3-overview-email {
    display: block;
    color: #dce6fa;
    font-size: 12px;
    overflow-wrap: anywhere;
}
body.root302-dashboard .r3-overview-label {
    display: block;
    color: #e0e8f8;
    font-size: 13px;
    line-height: 1.5;
}
body.root302-dashboard .r3-overview-value {
    display: block;
    margin-top: 9px;
    color: #fff;
    font-size: 27px;
    font-weight: 500;
    line-height: 1.2;
    font-variant-numeric: tabular-nums;
    overflow-wrap: anywhere;
}
body.root302-dashboard .r3-overview-credit .r3-overview-value { font-size: 23px; }
body.root302-dashboard .r3-overview-topup {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 32px;
    margin-top: 8px;
    padding: 2px 11px;
    border: 1px solid #c9d8f5;
    border-radius: 5px;
    color: #fff;
    font-size: 12px;
    text-decoration: none;
}
body.root302-dashboard .r3-overview-topup:hover { background: #ffffff1f; }
body.root302-dashboard .r3-overview-metric {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #fff;
    text-decoration: none;
    border-radius: 5px;
}
body.root302-dashboard .r3-overview-metric > i {
    position: absolute;
    right: 20px;
    bottom: 5px;
    font-size: 26px;
    color: #a6bee859;
}
body.root302-dashboard .r3-overview-metric:hover,
body.root302-dashboard .r3-overview-profile:hover { background: #ffffff0f; }
body.root302-dashboard .r3-account-overview a:focus-visible {
    outline: 3px solid #c3d7ff;
    outline-offset: 4px;
}
body.root302-dashboard .r3-workspace-banner { padding: 20px 26px; margin-bottom: 22px; }
body.root302-dashboard .r3-workspace-banner .r3-eyebrow { display: none; }
body.root302-dashboard .r3-workspace-banner h2 { font-size: 20px; margin-bottom: 8px; }
body.root302-dashboard .r3-workspace-banner p { margin: 0 0 12px; font-size: 13px; }
body.root302-dashboard .r3-workspace-banner .btn { padding: 7px 14px; }
body.root302-dashboard .client-home-cards .card-body,
body.root302-dashboard .client-home-cards .list-group-item { font-size: 14px; color: var(--r3-muted); }
@media (max-width: 1099px) {
    body.root302-dashboard .r3-account-overview { grid-template-columns: 1.35fr repeat(3, 1fr); padding: 18px; }
    body.root302-dashboard .r3-account-overview > * { padding: 0 18px; }
    body.root302-dashboard .r3-account-overview .r3-overview-profile {
        grid-column: 1 / -1;
        padding: 0 0 18px;
        margin-bottom: 18px;
        border-bottom: 1px solid #ffffff26;
    }
    body.root302-dashboard .r3-account-overview .r3-overview-credit { padding-left: 0; border-left: 0; }
}
@media (max-width: 575px) {
    body.root302-dashboard .r3-account-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 18px; }
    body.root302-dashboard .r3-account-overview .r3-overview-profile { margin-bottom: 0; }
    body.root302-dashboard .r3-account-overview > * { padding: 0 12px; }
    body.root302-dashboard .r3-account-overview > :nth-child(4) { border-left: 0; padding-left: 0; }
    body.root302-dashboard .r3-overview-credit .r3-overview-value { font-size: 22px; }
    body.root302-dashboard .r3-overview-metric > i { right: 5px; font-size: 22px; }
    body.root302-dashboard .r3-overview-topup { min-height: 44px; padding: 4px 12px; }
    body.root302-dashboard .r3-overview-metric { min-height: 84px; }
    body.root302-dashboard .r3-workspace-banner { padding: 20px; }
    body.root302-dashboard .r3-workspace-banner h2 { font-size: 18px; }
    body.root302-dashboard .r3-banner-stack { display: none; }
}

/* Shared public shell for the homepage, catalog and checkout. */
body.root302-public #header { background: #fff; }
body.root302-public .r3-public-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    min-height: 88px;
}
body.root302-public .r3-public-brand { color: var(--r3-ink); font-size: 23px; font-weight: 750; text-decoration: none; flex-shrink: 0; }
body.root302-public .r3-public-nav { display: flex; align-items: center; gap: 28px; margin-left: auto; }
body.root302-public .r3-public-nav a { display: flex; align-items: center; min-height: 44px; font-size: 14px; color: #526580; text-decoration: none; }
body.root302-public .r3-public-nav a:hover { color: var(--r3-blue); }
body.root302-public .r3-public-actions { display: flex; align-items: center; gap: 16px; }
body.root302-public .r3-public-actions .btn { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 44px; white-space: nowrap; }
body.root302-public .r3-public-language { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-width: 44px; min-height: 44px; padding: 0; background: transparent; border: 0; color: #526580; font-size: 14px; cursor: pointer; }
body.root302-public .r3-public-language:hover { color: var(--r3-blue); }
body.root302-public .r3-public-login { display: flex; align-items: center; min-height: 44px; color: var(--r3-ink); }
body.root302-public .r3-public-mobile { display: none; }
body.root302-public #servers { scroll-margin-top: 24px; }
body.root302-public #footer.r3-public-footer { background: #f7f9fd; border-top: 1px solid var(--r3-line); padding: 48px 0 0; margin-top: 24px; text-align: left; }
body.root302-public .r3-footer-grid { display: grid; grid-template-columns: 1.7fr 1fr 1fr 1fr; gap: 40px; padding-bottom: 36px; }
body.root302-public .r3-footer-grid > * { min-width: 0; }
body.root302-public .r3-footer-brand .r3-wordmark { font-size: 22px; font-weight: 750; color: var(--r3-ink); text-decoration: none; }
body.root302-public .r3-footer-brand p { margin: 18px 0 12px; max-width: 290px; font-size: 14px; line-height: 1.8; color: #526580; }
body.root302-public .r3-footer-console { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; color: var(--r3-blue); font-size: 14px; }
body.root302-public .r3-footer-grid nav h2 { margin: 7px 0 12px; font-size: 14px; font-weight: 650; color: #253d62; }
body.root302-public .r3-footer-grid nav a { display: block; padding: 8px 0; font-size: 13px; color: #526580; overflow-wrap: anywhere; }
body.root302-public .r3-footer-grid nav a:hover { color: var(--r3-blue); }
body.root302-public .r3-footer-bottom { border-top: 1px solid var(--r3-line); display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 0; color: #61728c; font-size: 12px; }
body.root302-public .r3-footer-bottom p { margin: 0; }
body.root302-public .r3-footer-bottom button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; background: transparent; border: 0; padding: 0; color: #526580; cursor: pointer; font-size: 13px; }
@media (max-width: 991px) {
    body.root302-public .r3-public-bar { min-height: 76px; gap: 16px; position: relative; }
    body.root302-public .r3-public-nav { display: none; }
    body.root302-public .r3-public-actions { margin-left: auto; gap: 10px; }
    body.root302-public .r3-public-mobile { display: block; }
    body.root302-public .r3-public-mobile summary { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; cursor: pointer; list-style: none; color: var(--r3-ink); font-size: 18px; }
    body.root302-public .r3-public-mobile summary::-webkit-details-marker { display: none; }
    body.root302-public .r3-public-mobile nav { position: absolute; top: calc(100% - 4px); left: 18px; right: 18px; z-index: 100; padding: 12px; background: #fff; border: 1px solid var(--r3-line); border-radius: 10px; box-shadow: 0 12px 30px #17264016; }
    body.root302-public .r3-public-mobile nav a { display: flex; align-items: center; min-height: 44px; padding: 8px 12px; color: #526580; border-radius: 5px; }
    body.root302-public .r3-public-mobile nav a:hover { background: #f3f6fc; color: var(--r3-blue); }
    body.root302-public .r3-footer-grid { grid-template-columns: 1.4fr 1fr 1fr; gap: 24px; }
    body.root302-public .r3-footer-brand { grid-column: 1 / -1; }
    body.root302-public .r3-footer-brand p { max-width: none; }
}
@media (max-width: 575px) {
    body.root302-public .r3-public-bar { gap: 8px; min-height: 72px; }
    body.root302-public .r3-public-brand { font-size: 18px; }
    body.root302-public .r3-public-brand .r3-wordmark { gap: 7px; }
    body.root302-public .r3-public-brand .r3-symbol { width: 28px; height: 28px; font-size: 18px; }
    body.root302-public .r3-public-actions { gap: 2px; }
    body.root302-public .r3-public-actions .btn { padding: 8px 10px; font-size: 12px; gap: 5px; }
    body.root302-public .r3-public-actions .btn i { display: none; }
    body.root302-public .r3-public-language { min-width: 36px; }
    body.root302-public .r3-public-language span { display: none; }
    body.root302-public .r3-public-login { font-size: 12px; padding: 0 5px; }
    body.root302-public #footer.r3-public-footer { padding-top: 32px; }
    body.root302-public .r3-footer-grid { grid-template-columns: 1fr 1fr; gap: 24px; }
    body.root302-public .r3-footer-bottom { flex-wrap: wrap; gap: 6px; }
    body.root302-public .r3-footer-grid nav a { min-height: 44px; }
}


/* Shared theme language dialog; the original WHMCS selector handles navigation. */
body.root302 #modalChooseLanguage .modal-dialog { max-width: 460px; width: calc(100% - 32px); margin: 24px auto; min-height: calc(100% - 48px); }
body.root302 #modalChooseLanguage .modal-content { border: 1px solid #e1e8f2; border-radius: 16px; background: #fff; background-image: none; box-shadow: 0 24px 80px #11284a26; color: #263e5e; max-height: calc(100vh - 48px); overflow-y: auto; }
body.root302 #modalChooseLanguage .modal-header { padding: 24px 24px 0; border: 0; align-items: flex-start; }
body.root302 #modalChooseLanguage .modal-title { margin: 0; font-size: 21px; line-height: 1.5; font-weight: 650; color: #203857; }
body.root302 #modalChooseLanguage .modal-header p { margin: 7px 0 0; font-size: 13px; line-height: 1.7; color: #60718a; }
body.root302 #modalChooseLanguage .close { display: flex; align-items: center; justify-content: center; flex: 0 0 36px; width: 36px; height: 36px; padding: 0; margin: -6px -6px 0 10px; font-size: 25px; color: #60718a; opacity: 1; border-radius: 8px; text-shadow: none; background: transparent; }
body.root302 #modalChooseLanguage .close:hover { background: #f0f4fa; color: #263e5e; }
body.root302 #modalChooseLanguage .modal-body { padding: 20px 24px 24px; }
body.root302 #modalChooseLanguage .r3-language-options { display: grid; gap: 10px; }
body.root302 #modalChooseLanguage .r3-language-options .item { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; padding: 13px 16px; margin: 0; min-height: 70px; border: 1px solid #e1e7f0; border-radius: 10px; background: #fff; color: #263e5e; text-align: left; cursor: pointer; }
body.root302 #modalChooseLanguage .item:hover { border-color: #9cb8f0; background: #f8faff; }
body.root302 #modalChooseLanguage .r3-language-options .item.active { background: #edf3ff; border-color: #3168f5; color: #2456c7; }
body.root302 #modalChooseLanguage .r3-locale-option-copy { display: flex; flex-direction: column; gap: 3px; }
body.root302 #modalChooseLanguage .r3-locale-option-copy strong { font-size: 15px; line-height: 1.5; font-weight: 600; }
body.root302 #modalChooseLanguage .r3-locale-option-copy small { font-size: 12px; color: #60718a; line-height: 1.5; }
body.root302 #modalChooseLanguage .r3-locale-check { display: flex; align-items: center; justify-content: center; width: 22px; height: 22px; flex-shrink: 0; border: 1px solid #cbd7e8; border-radius: 50%; font-size: 11px; color: transparent; }
body.root302 #modalChooseLanguage .active .r3-locale-check { color: #fff; background: #3168f5; border-color: #3168f5; }
body.root302 #modalChooseLanguage .r3-currency-section { margin-top: 20px; }
body.root302 #modalChooseLanguage .r3-currency-section h3 { font-size: 14px; color: #425773; margin: 0 0 12px; }
body.root302 #modalChooseLanguage .r3-currency-options { display: flex; flex-wrap: wrap; gap: 8px; }
body.root302 #modalChooseLanguage .r3-currency-options .item { min-height: 44px; padding: 8px 16px; background: #fff; border: 1px solid #e1e7f0; border-radius: 8px; color: #425773; font-size: 13px; cursor: pointer; }
body.root302 #modalChooseLanguage .r3-currency-options .item.active { border-color: #3168f5; color: #2456c7; background: #edf3ff; }
body.root302 #modalChooseLanguage .modal-footer { padding: 16px 24px; border-top: 1px solid #e9eef6; background: #fbfcff; gap: 10px; justify-content: flex-end; }
body.root302 #modalChooseLanguage .modal-footer .btn { min-height: 44px; padding: 10px 18px; border-radius: 8px; font-size: 14px; margin: 0; }
body.root302 #modalChooseLanguage .btn-default { background: #fff; color: #526580; border: 1px solid #dfe6f0; box-shadow: none; }
body.root302 #modalChooseLanguage .btn-primary { color: #fff; background: #3168f5; border-color: #3168f5; box-shadow: none; }
@media (max-width: 575px) {
    body.root302 #modalChooseLanguage .modal-header { padding: 20px 20px 0; }
    body.root302 #modalChooseLanguage .modal-body { padding: 18px 20px 20px; }
    body.root302 #modalChooseLanguage .modal-footer { padding: 14px 20px; }
}

body.root302 #modalChooseLanguage .modal-header { background: #fff; }


/* Mouse focus has no browser-default black ring; keyboard focus stays visible. */
body.root302-public .r3-public-language { border-radius: 8px; padding: 0 8px; }
body.root302-public .r3-public-language:focus:not(:focus-visible) { outline: none; box-shadow: none; }
body.root302-public .r3-public-language:focus-visible { outline: 2px solid #3168f5; outline-offset: 3px; background: #edf3ff; }
