/* Panel V3 look 1.1.0 — visual layer only. Colours come from Site Settings (see skin.php: --v3-*).
   --v3-c1 / --v3-c2 / --v3-c3 = lighter / main / deeper shade of the Theme Color (the dual-tone wave).
   --v3-pale* = very light shades of the same colour (page background, selected submenu). --v3-text = Site Settings Text Color. */
html.v3 body{ -webkit-font-smoothing:antialiased; }
body.v3{ --v3-r:12px; --v3-rs:8px; --v3-shadow:0 8px 24px rgba(15,32,64,.08); --v3-shadow-s:0 3px 12px rgba(15,32,64,.07);
  --v3-navy:var(--v3-nav1,#1a2638); --v3-navy2:var(--v3-nav2,#131d2c); --v3-line:#e3e9f2; --v3-muted:#5f6c80; --v3-card-bg:url("/user/extension/v3/waves-card.svg");
  --v3-grad:linear-gradient(115deg,var(--v3-c1) -25%,var(--v3-c2) 45%,var(--v3-c3) 115%); }

/* ---------- page background: very pale theme shade + soft flowing waves ---------- */
body.v3 .content-wrapper{ background:linear-gradient(170deg,var(--v3-pale) 0%,#f8fbff 45%,var(--v3-pale) 100%) !important; position:relative; isolation:isolate; }
body.v3 .content-wrapper::before{ content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; background:var(--v3-pale3); opacity:.5;
  -webkit-mask:url("/user/extension/v3/waves-bg.svg") center/100% 100% no-repeat; mask:url("/user/extension/v3/waves-bg.svg") center/100% 100% no-repeat; }
body.v3 .content-header{ padding:16px .5rem 6px; }
body.v3 .content-header h1{ font-weight:700; color:#141e33; letter-spacing:-.2px; font-size:1.75rem; }
body.v3 .breadcrumb{ font-size:.9rem; }
body.v3 .breadcrumb a{ color:var(--v3-c2) !important; font-weight:600; }
body.v3 .breadcrumb-item.active{ color:#6b778a; }

/* ---------- top bar ---------- */
body.v3 .main-header.navbar{ background:#fff !important; border-bottom:1px solid var(--v3-line) !important; box-shadow:0 2px 10px rgba(15,32,64,.04); }
body.v3 .main-header .nav-link{ color:#1f2a3d; }
body.v3 .main-header .nav-link:hover{ color:var(--v3-c2); }
body.v3 .main-header .dropdown-menu{ border:1px solid var(--v3-line); border-radius:10px; box-shadow:var(--v3-shadow); overflow:hidden; }
body.v3 .dropdown-item:hover,body.v3 .dropdown-item:focus{ background:var(--v3-pale); color:var(--v3-ink2); }

/* ---------- sidebar: deep navy, theme-coloured selection ---------- */
body.v3 .main-sidebar{ background:linear-gradient(180deg,var(--v3-navy) 0%,var(--v3-navy2) 100%) !important; box-shadow:3px 0 14px rgba(8,15,35,.16) !important; }
body.v3 .main-sidebar .brand-link{ border-bottom:1px solid rgba(255,255,255,.06) !important; color:#fff !important; }
body.v3 .main-sidebar .brand-link .brand-text{ font-weight:700 !important; color:#fff; }
body.v3 .main-sidebar .brand-link .brand-image{ opacity:1 !important; }
body.v3 .sidebar{ padding-left:8px; padding-right:8px; }
body.v3 .nav-sidebar .nav-header{ color:#c3cbd8 !important; font-weight:400; font-size:.9rem; padding:.7rem .6rem .45rem; }
body.v3 .nav-sidebar .nav-link{ color:#e4e9f1 !important; border-radius:7px !important; margin-bottom:2px; transition:background-color .15s,color .15s; }
body.v3 .nav-sidebar .nav-link .nav-icon{ color:#e4e9f1 !important; }
body.v3 .nav-sidebar .nav-link:hover{ background:rgba(var(--v3-c2rgb),.15) !important; color:#fff !important; }
body.v3 .nav-sidebar .nav-link:focus-visible{ outline:2px solid var(--v3-pale3); outline-offset:1px; }
/* selected main item and open main group: dual-tone wave */
body.v3 .nav-sidebar > .nav-item > .nav-link.active,
body.v3 .nav-sidebar > .nav-item.menu-open > .nav-link{
  background:var(--v3-card-bg) center/100% 100% no-repeat,linear-gradient(100deg,var(--v3-c2) 0%,var(--v3-c2) 55%,var(--v3-c1) 140%) !important;
  color:var(--v3-text) !important; box-shadow:0 4px 14px rgba(var(--v3-c2rgb),.35) !important; }
body.v3 .nav-sidebar > .nav-item > .nav-link.active .nav-icon,
body.v3 .nav-sidebar > .nav-item.menu-open > .nav-link .nav-icon,
body.v3 .nav-sidebar > .nav-item.menu-open > .nav-link p,
body.v3 .nav-sidebar > .nav-item > .nav-link.active p{ color:var(--v3-text) !important; }
/* submenus: stay on the dark sidebar; open sub-group parent has no fill; selected item = very pale theme shade */
body.v3 .nav-treeview{ padding-left:0; }
body.v3 .nav-treeview .nav-link{ background:transparent !important; box-shadow:none !important; }
body.v3 .nav-treeview > .nav-item.menu-open > .nav-link,
body.v3 .nav-treeview > .nav-item.menu-open > .nav-link.active{ background:transparent !important; color:#fff !important; font-weight:400; }
body.v3 .nav-treeview > .nav-item.menu-open > .nav-link.active p,
body.v3 .nav-treeview > .nav-item.menu-open > .nav-link.active .nav-icon{ color:#fff !important; }
body.v3 .nav-treeview .nav-link:hover{ background:rgba(var(--v3-c2rgb),.15) !important; }
body.v3 .nav-treeview .nav-link.active:not(:has(+ .nav-treeview)),
body.v3 .nav-treeview .nav-link.active:not(:has(+ .nav-treeview)):hover{ background:var(--v3-pale) !important; color:var(--v3-ink2) !important; font-weight:600; }
body.v3 .nav-treeview .nav-link.active:not(:has(+ .nav-treeview)) .nav-icon,
body.v3 .nav-treeview .nav-link.active:not(:has(+ .nav-treeview)) p{ color:var(--v3-ink2) !important; }
body.v3 .nav-treeview .nav-treeview .nav-link{ padding-left:1.6rem; }
body.v3 .nav-sidebar .nav-link .right{ color:inherit; }

/* ---------- summary cards (small-box): dual-tone waves, compact ---------- */
body.v3 .small-box{
  background:var(--v3-card-bg) center/100% 100% no-repeat,var(--v3-grad) !important;
  color:var(--v3-text) !important; border-radius:var(--v3-r) !important; overflow:hidden; box-shadow:0 8px 20px rgba(var(--v3-c2rgb),.22) !important; border:0; position:relative; }
body.v3 .small-box > .inner{ padding:14px 108px 8px 20px !important; position:relative; z-index:1; }
body.v3 .small-box > .inner h3{ font-weight:700; letter-spacing:-.3px; margin:0 0 2px; font-size:2.25rem; line-height:1.15; color:var(--v3-text); white-space:nowrap; }
body.v3 .small-box > .inner p{ font-size:1rem; font-weight:500; line-height:1.3; margin-bottom:6px; color:var(--v3-text); opacity:1; }
body.v3 .small-box .icon{ position:absolute !important; top:50% !important; right:16px !important; transform:translateY(calc(-50% - 14px)); z-index:0; }
body.v3 .small-box .icon > i{ position:static !important; top:auto !important; right:auto !important;
  display:flex !important; align-items:center; justify-content:center; width:80px; height:80px; border-radius:50%;
  background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.26),rgba(255,255,255,.12) 70%); box-shadow:0 6px 18px rgba(0,20,60,.12); color:#fff !important; font-size:36px !important; opacity:1 !important; transition:transform .2s; }
body.v3 .small-box:hover .icon > i{ transform:scale(1.04); font-size:36px !important; }
body.v3 .small-box > .small-box-footer{ background:rgba(255,255,255,.07) !important; border-top:1px solid rgba(255,255,255,.14); color:var(--v3-text) !important; padding:6px 0; font-weight:500; font-size:.95rem; position:relative; z-index:1; }
body.v3 .small-box > .small-box-footer:hover{ background:rgba(255,255,255,.14) !important; }
body.v3 .small-box > .small-box-footer .fas,body.v3 .small-box > .small-box-footer .fa{ margin-left:4px; }
body.v3 .v3-dot{ display:inline-block; width:12px; height:12px; border-radius:50%; background:#3ddc4b; box-shadow:0 0 0 3px rgba(61,220,75,.28); margin-left:6px; vertical-align:middle; }
body.v3 .row > [class*="col-"] > .small-box{ height:calc(100% - 18px); margin-bottom:18px; display:flex; flex-direction:column; }
body.v3 .row > [class*="col-"] > .small-box > .small-box-footer{ margin-top:auto; }
/* info-box (ops pages: Blocked users, DNS Manager summaries) -> same card family */
body.v3 .info-box{ background:var(--v3-card-bg) center/100% 100% no-repeat,var(--v3-grad) !important; color:var(--v3-text) !important; border-radius:var(--v3-r); box-shadow:0 8px 20px rgba(var(--v3-c2rgb),.22); min-height:96px; padding:14px 18px; align-items:center; }
body.v3 .info-box .info-box-icon{ order:2; margin-left:auto; width:70px; height:70px; border-radius:50% !important; background:rgba(255,255,255,.18) !important; color:#fff !important; font-size:30px; box-shadow:none !important; }
body.v3 .info-box .info-box-icon[class*="bg-"]{ background:rgba(255,255,255,.18) !important; }
body.v3 .info-box .info-box-content{ order:1; padding:0; color:var(--v3-text); }
body.v3 .info-box .info-box-number{ font-size:2rem; font-weight:700; order:-1; line-height:1.15; }
body.v3 .info-box .info-box-text{ font-size:1rem; font-weight:500; text-transform:none; white-space:normal; }

/* ---------- cards / panels ---------- */
body.v3 .card{ border:0 !important; border-radius:var(--v3-r) !important; box-shadow:var(--v3-shadow) !important; }
body.v3 .card > .card-header{ border-top-left-radius:var(--v3-r) !important; border-top-right-radius:var(--v3-r) !important; border-bottom:1px solid var(--v3-line); }
body.v3 .card > .card-header[style*="background"],
body.v3 .card-primary > .card-header,
body.v3 .card-info:not(.card-outline) > .card-header,
body.v3 .card-outline > .card-header[style*="background"]{
  background:var(--v3-card-bg) center/100% 100% no-repeat,linear-gradient(100deg,var(--v3-c2) 0%,var(--v3-c2) 60%,var(--v3-c1) 120%) !important;
  color:var(--v3-text) !important; border-bottom:0; padding:12px 20px; }
body.v3 .card > .card-header .card-title{ font-weight:700; font-size:1.1rem; }
body.v3 .card-primary.card-outline,body.v3 .card-info.card-outline{ border-top:0 !important; }
body.v3 .card-body{ padding:18px 20px; }
body.v3 .card-footer{ background:#fff; border-top:1px solid var(--v3-line); border-bottom-left-radius:var(--v3-r) !important; border-bottom-right-radius:var(--v3-r) !important; }

/* ---------- forms ---------- */
body.v3 .form-control,body.v3 .custom-select,body.v3 select.form-control{ border-radius:6px; border-color:#d3dbe7; min-height:38px; color:#1f2a3d; }
body.v3 textarea.form-control{ min-height:0; }
body.v3 .form-control:focus,body.v3 .custom-select:focus{ border-color:var(--v3-c2); box-shadow:0 0 0 3px rgba(var(--v3-c2rgb),.15); }
body.v3 label{ color:#141e33; font-weight:700; }
body.v3 .form-text,body.v3 small.text-muted{ color:#6b778a !important; }
body.v3 .input-group-text{ border-radius:6px; background:#fff; border-color:#d3dbe7; color:#1f2a3d; }
body.v3 .custom-control-input:checked ~ .custom-control-label::before{ background-color:var(--v3-c2); border-color:var(--v3-c2); }
body.v3 input[type=radio],body.v3 input[type=checkbox]{ accent-color:var(--v3-c2); }

/* ---------- buttons ---------- */
body.v3 .btn{ border-radius:6px; font-weight:600; }
body.v3 .btn-primary,body.v3 .btn-info{ background:linear-gradient(100deg,var(--v3-c2),var(--v3-c3)) !important; border-color:transparent !important; color:var(--v3-text) !important; box-shadow:0 3px 10px rgba(var(--v3-c2rgb),.28); }
body.v3 .btn-primary:hover,body.v3 .btn-info:hover{ filter:brightness(1.07); }
body.v3 .btn-outline-primary{ color:var(--v3-c2); border-color:var(--v3-c2); }
body.v3 .btn-outline-primary:hover{ background:var(--v3-c2); color:#fff; }
body.v3 .btn-default,body.v3 .btn-light{ background:#fff; border-color:#d3dbe7; color:#1f2a3d; }

/* ---------- tables & DataTables: compact, white ---------- */
body.v3 .table{ color:#1f2a3d; font-size:.9rem; }
body.v3 .table thead th{ background:#f6f8fc; border-bottom:1px solid var(--v3-line) !important; border-top:0 !important; color:#141e33; font-weight:700; font-size:.82rem; white-space:nowrap; padding:.6rem .7rem; }
body.v3 .table td{ padding:.6rem .7rem; }
body.v3 .table td,body.v3 .table th{ border-color:var(--v3-line) !important; vertical-align:middle; }
body.v3 .table-bordered{ border-color:var(--v3-line) !important; border-radius:8px; overflow:hidden; }
/* Tables with an Action menu must not clip it (2026-10 fix): no clipping there, corners kept on the header/last row cells */
body.v3 .table-bordered:has(.dropdown-menu){ overflow:visible; }
body.v3 .table-bordered:has(.dropdown-menu) > thead > tr:first-child > :first-child{ border-top-left-radius:8px; }
body.v3 .table-bordered:has(.dropdown-menu) > thead > tr:first-child > :last-child{ border-top-right-radius:8px; }
body.v3 .table-bordered:has(.dropdown-menu) > tbody:last-child > tr:last-child > :first-child{ border-bottom-left-radius:8px; }
body.v3 .table-bordered:has(.dropdown-menu) > tbody:last-child > tr:last-child > :last-child{ border-bottom-right-radius:8px; }
body.v3 .dropdown-menu.v3-float{ z-index:1060; max-height:calc(100vh - 16px); overflow-y:auto; }
body.v3 .table-striped tbody tr:nth-of-type(odd){ background:#fbfcfe; }
body.v3 .table-hover tbody tr:hover{ background:var(--v3-pale); }
body.v3 .dataTables_wrapper{ font-size:.9rem; }
body.v3 .dataTables_wrapper .dataTables_filter input,body.v3 .dataTables_wrapper .dataTables_length select{ border-radius:6px; border:1px solid #d3dbe7; min-height:34px; padding:3px 10px; }
body.v3 .page-item.active .page-link{ background:var(--v3-c2) !important; border-color:var(--v3-c2) !important; color:var(--v3-text) !important; }
body.v3 .page-link{ border-radius:6px !important; margin:0 2px; color:var(--v3-c2); border-color:var(--v3-line); }
body.v3 .badge{ border-radius:999px; padding:.35em .65em; font-weight:600; }
body.v3 .badge-primary{ background:var(--v3-c2); color:var(--v3-text); }
body.v3 .dropdown-menu{ border-radius:10px; border:1px solid var(--v3-line); box-shadow:var(--v3-shadow); }

/* ---------- modals, alerts, callouts ---------- */
body.v3 .modal-content{ border:0; border-radius:var(--v3-r); box-shadow:0 24px 60px rgba(8,15,35,.28); overflow:hidden; }
body.v3 .modal-header{ border-bottom:1px solid var(--v3-line); }
body.v3 .modal-header.bg-primary,body.v3 .modal-header.bg-info,body.v3 .modal-header[style*="background"]{ background:var(--v3-card-bg) center/100% 100% no-repeat,linear-gradient(100deg,var(--v3-c2),var(--v3-c1) 130%) !important; color:var(--v3-text) !important; }
body.v3 .alert{ border-radius:10px; }
body.v3 .callout{ border-radius:10px; box-shadow:var(--v3-shadow-s); }
body.v3 .bg-primary{ background-color:var(--v3-c2) !important; }
body.v3 .text-primary{ color:var(--v3-c2) !important; }
body.v3 a{ color:var(--v3-c2); }
body.v3 .nav-sidebar a,body.v3 .small-box a,body.v3 .btn{ color:inherit; }
body.v3 .nav-tabs .nav-link.active{ color:var(--v3-c2); border-color:var(--v3-line) var(--v3-line) #fff; font-weight:600; }
body.v3 .nav-pills .nav-link.active{ background:var(--v3-c2); color:var(--v3-text); }

/* ---------- footer ---------- */
body.v3 .main-footer{ background:transparent !important; border-top:0 !important; color:#1f2a3d; font-size:.9rem; }
body.v3 .main-footer a{ color:var(--v3-c2) !important; font-weight:700; }
body.v3 .main-footer u{ text-decoration:none; }
/* Footer (2026-10): name on one side, Privacy Policy · Terms & Conditions on the other; on phones both centred, one per line */
body.v3 .main-footer{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px 18px; }
body.v3 .main-footer > .float-right{ float:none !important; display:flex !important; flex-wrap:wrap; align-items:center; margin-left:auto; }
body.v3 .main-footer > .float-right > a + a::before{ content:"\00b7"; display:inline-block; margin:0 10px; color:#8a96a8; font-weight:400; }
@media (max-width:575.98px){
  body.v3 .main-footer{ flex-direction:column; justify-content:center; text-align:center; padding:14px 16px 18px; }
  body.v3 .main-footer > .float-right{ margin:0; justify-content:center; }
}

/* ---------- page-specific card widths (approved layouts) ---------- */
@media (min-width: 992px){
  body.v3.v3-p-view_user .content .row:first-child > .col-lg-3:has(> .small-box),
  body.v3.v3-p-view_user7d .content .row:first-child > .col-lg-3:has(> .small-box){ flex:0 0 50%; max-width:50%; }
  body.v3.v3-p-create_user .content .row:first-child > .col-lg-3:has(> .small-box){ flex:0 0 33.333%; max-width:33.333%; }
}

/* ---------- responsive ---------- */
@media (max-width: 991.98px){
  body.v3 .content-wrapper .card-body{ overflow-x:auto; }
  body.v3 .small-box .icon > i{ width:64px; height:64px; font-size:28px !important; }
  body.v3 .small-box > .inner{ padding-right:90px !important; }
}
@media (max-width: 575.98px){
  body.v3 .content-header h1{ font-size:1.45rem; }
  body.v3 .card-body{ padding:14px 12px; }
  body.v3 .small-box > .inner h3{ font-size:1.9rem; }
}

/* ---------- sign-in page (login.php markup: .login-card) ---------- */
body.v3 .login-card{ position:relative; padding:0 0 30px !important; overflow:hidden; border-radius:18px !important; box-shadow:0 26px 60px rgba(15,32,64,.16) !important; max-width:470px !important; }
body.v3 .login-card::before{ content:""; position:absolute; left:0; right:0; top:0; height:208px;
  background:var(--v3-card-bg) center/100% 100% no-repeat,var(--v3-grad); }
body.v3 .login-card > *{ position:relative; }
body.v3 .login-card .logo{ margin:40px auto 14px !important; width:84px !important; height:84px !important; border-radius:12px; background:#fff; padding:4px; box-shadow:0 6px 18px rgba(0,0,0,.18); object-fit:contain; }
body.v3 .login-card .title{ color:var(--v3-text) !important; font-weight:700 !important; margin:0 0 34px !important; }
body.v3 .login-card .subtitle,body.v3 .login-card form{ padding:0 40px; }
body.v3 .login-card .subtitle{ margin:20px 0 26px !important; }
body.v3 .login-card input{ background:var(--v3-pale) !important; border-color:#d9e2ee !important; border-radius:10px !important; min-height:50px; }
body.v3 .login-card .btn-primary{ background:var(--v3-card-bg) center/100% 100% no-repeat,linear-gradient(100deg,var(--v3-c2),var(--v3-c3)) !important; color:var(--v3-text) !important; border-radius:10px !important; min-height:50px; font-weight:600; font-size:16px; box-shadow:0 8px 20px rgba(var(--v3-c2rgb),.3); }
body.v3 .login-card .links a{ color:#3b4a63 !important; }
html.v3 body.v3:has(.login-card){ background:linear-gradient(170deg,var(--v3-pale) 0%,#f8fbff 50%,var(--v3-pale) 100%) !important; }
@media (max-width:480px){ body.v3 .login-card .subtitle,body.v3 .login-card form{ padding:0 20px; } }
/* ---------- sign-in page, standard panel markup (.login-box > .card, used by most panels) — same look as .login-card ---------- */
html.v3 body.v3.login-page:has(.login-box){ background:linear-gradient(170deg,var(--v3-pale) 0%,#f8fbff 50%,var(--v3-pale) 100%) !important; position:relative; isolation:isolate; }
html.v3 body.v3.login-page:has(.login-box)::before{ content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; background:var(--v3-pale3); opacity:.5;
  -webkit-mask:url("/user/extension/v3/waves-bg.svg") center/100% 100% no-repeat; mask:url("/user/extension/v3/waves-bg.svg") center/100% 100% no-repeat; }
body.v3.login-page .login-box{ width:470px; max-width:calc(100vw - 32px); }
body.v3.login-page .login-box > .card{ border:0 !important; border-top:0 !important; border-radius:18px !important; overflow:hidden; box-shadow:0 26px 60px rgba(15,32,64,.16) !important; }
body.v3.login-page .login-box > .card > .card-header{ background:var(--v3-card-bg) center/100% 100% no-repeat,var(--v3-grad) !important; color:var(--v3-text) !important; border:0 !important; padding:36px 20px 30px !important; text-align:center; }
body.v3.login-page .login-box > .card > .card-header,body.v3.login-page .login-box > .card > .card-header a{ color:var(--v3-text) !important; }
body.v3.login-page .login-box > .card > .card-header .h1,body.v3.login-page .login-box > .card > .card-header > a{ display:block; font-size:26px !important; font-weight:700 !important; line-height:1.25; text-decoration:none; }
body.v3.login-page .login-box .v3-login-logo{ display:block; margin:0 auto 14px !important; width:84px !important; height:84px !important; border-radius:12px; background:#fff; padding:4px; box-shadow:0 6px 18px rgba(0,0,0,.18); object-fit:contain; }
body.v3.login-page .login-box > .card > .card-body{ padding:26px 40px 30px; }
body.v3.login-page .login-box .login-box-msg{ color:#3b4a63 !important; font-size:14.5px; padding:0 0 20px; }
body.v3.login-page .login-box .input-group .form-control{ background:var(--v3-pale) !important; border-color:#d9e2ee !important; min-height:50px; border-radius:10px 0 0 10px !important; border-right:0 !important; }
body.v3.login-page .login-box .input-group-text{ background:var(--v3-pale) !important; border-color:#d9e2ee !important; border-radius:0 10px 10px 0 !important; color:#6b778a; }
body.v3.login-page .login-box .btn-block,body.v3.login-page .login-box button[name=login]{ background:var(--v3-card-bg) center/100% 100% no-repeat,linear-gradient(100deg,var(--v3-c2),var(--v3-c3)) !important; color:var(--v3-text) !important; border:0 !important; border-radius:10px !important; min-height:50px; font-weight:600; font-size:16px; box-shadow:0 8px 20px rgba(var(--v3-c2rgb),.3); }
body.v3.login-page .login-box .card-body a{ color:#3b4a63 !important; text-decoration:none !important; font-size:14px; }
body.v3.login-page .login-box .card-body a u{ text-decoration:none; }
body.v3.login-page .login-box .card-body a[href*="privacy"],body.v3.login-page .login-box .card-body a[href*="terms"]{ color:var(--v3-ink2) !important; font-size:14.5px; }
body.v3.login-page .login-box .card-body a[href*="privacy"] + a[href*="terms"]::before{ content:"|"; display:inline-block; margin:0 10px; color:#9aa6b8; }
body.v3.login-page .login-box .card-body .mt-2.text-center{ margin-top:16px !important; line-height:1.9; }
@media (max-width:480px){ body.v3.login-page .login-box > .card > .card-body{ padding:22px 20px 24px; } }

/* ---------- dashboard: Download apps panel (white header, theme title) ---------- */
body.v3 .card:has(.card-title .fa-cloud-download-alt) > .card-header{ background:#fff !important; color:var(--v3-c2) !important; border-bottom:0; padding-bottom:4px; }
body.v3 .card:has(.card-title .fa-cloud-download-alt) > .card-header .card-title{ font-size:1.2rem; }
body.v3 .card:has(.card-title .fa-cloud-download-alt) > .card-header .fa-cloud-download-alt{ color:var(--v3-c2); font-size:1.3em; margin-right:6px !important; }
body.v3 .card:has(.card-title .fa-cloud-download-alt) .border.rounded{ border-radius:10px !important; border-color:var(--v3-line) !important; box-shadow:var(--v3-shadow-s); }

/* ---------- type scale of the approved images ---------- */
body.v3 .nav-sidebar > .nav-item > .nav-link, body.v3 .nav-sidebar .nav-treeview .nav-link{ font-size:.95rem; }
body.v3 .nav-sidebar .nav-header{ font-size:.92rem !important; }
body.v3 .main-sidebar .brand-link .brand-text{ font-size:1.22rem; }
body.v3 .content-header h1{ font-size:1.85rem; }
body.v3 .small-box > .inner h3{ font-size:2.6rem; line-height:1.1; }
body.v3 .small-box > .inner p{ font-size:.95rem; }
body.v3 .small-box > .inner{ padding-right:90px !important; }
body.v3 .col-lg-6 > .small-box > .inner p{ font-size:1.05rem; }
body.v3 .small-box > .small-box-footer{ padding:8px 0; }

/* ---------- sidebar width of the approved images (desktop, expanded) ---------- */
@media (min-width: 992px){
  body.v3:not(.sidebar-collapse) .main-sidebar, body.v3:not(.sidebar-collapse) .main-sidebar::before,
  body.v3:not(.sidebar-collapse) .main-sidebar .brand-link{ width:218px; }
  body.v3:not(.sidebar-collapse) .content-wrapper, body.v3:not(.sidebar-collapse) .main-footer,
  body.v3:not(.sidebar-collapse) .main-header{ margin-left:218px !important; }
  body.v3.sidebar-collapse .main-sidebar:hover, body.v3.sidebar-collapse .main-sidebar:hover .brand-link{ width:218px; }
  body.v3:not(.sidebar-collapse) .nav-sidebar, body.v3:not(.sidebar-collapse) .nav-sidebar .nav-link,
  body.v3.sidebar-collapse .main-sidebar:hover .nav-sidebar, body.v3.sidebar-collapse .main-sidebar:hover .nav-sidebar .nav-link{ width:auto !important; }
}
body.v3 .small-box:not(:has(> .small-box-footer)) > .inner{ padding-top:20px !important; padding-bottom:16px !important; }
body.v3 .small-box:not(:has(> .small-box-footer)) .icon{ transform:translateY(-50%); }
body.v3 .form-control,body.v3 .custom-select,body.v3 select.form-control{ min-height:40px; }
@media (min-width: 992px){
  body.v3.v3-p-create_user .content .row > .col-lg-7:has(> .card){ flex:0 0 80%; max-width:80%; }
}
@media (min-width: 992px){
  body.v3.v3-p-view_user .content .row:has(> div > .small-box) > div,
  body.v3.v3-p-view_user7d .content .row:has(> div > .small-box) > div{ flex:0 0 50%; max-width:50%; }
}
body.v3 .card > .card-header{ padding:14px 20px; }
body.v3 .card > .card-header .card-title{ font-size:1.2rem; line-height:1.6; }
body.v3 .card-header .btn-sm,body.v3 .card-header .btn-xs{ padding:.38rem .8rem; font-size:.86rem; border-radius:6px; }
body.v3 .table{ font-size:.93rem; }
body.v3 .table thead th{ font-size:.86rem; padding:.7rem .75rem; }
body.v3 .table td{ padding:.7rem .75rem; }
body.v3 .dataTables_wrapper .dataTables_length select{ width:auto !important; min-width:74px; display:inline-block; }
body.v3 .dataTables_wrapper .dataTables_filter input{ min-width:220px; }
body.v3 .nav-treeview > .nav-item.menu-open > .nav-link .nav-icon{ color:var(--v3-c1) !important; }

/* ---------- forms as in the approved pages: single form panel wide, comfortable fields ---------- */
@media (min-width: 992px){
  body.v3 .content .row > [class*="col-"]:only-child:has(> .card form):not(:has(table)){ flex:0 0 80%; max-width:80%; }
}
body.v3 .card form label{ font-size:1.02rem; margin-bottom:.45rem; }
body.v3 .card form .form-group{ margin-bottom:1.15rem; }
body.v3 .card form .form-control{ font-size:1rem; }
body.v3 .btn[style*="background-color"]{ background:linear-gradient(100deg,var(--v3-c2),var(--v3-c3)) !important; color:var(--v3-text) !important; border:0; box-shadow:0 3px 10px rgba(var(--v3-c2rgb),.28); }
body.v3 .card-footer .btn,body.v3 .card form .btn[type=submit]{ padding:.5rem 1.1rem; font-size:1rem; }
body.v3 .card-footer{ background:#f9fbfe; padding:14px 20px; }
body.v3 .badge.v3-status.badge-success{ background:#e3f7e8; color:#168a3a; font-size:.85rem; padding:.45em .9em; }
body.v3 .badge.v3-status.badge-danger{ background:#fde6e6; color:#c62828; font-size:.85rem; padding:.45em .9em; }
@media (min-width: 992px){
  body.v3.v3-p-view_reseller .content .row:has(> div > .small-box) > div,
  body.v3.v3-p-view_reseller7d .content .row:has(> div > .small-box) > div{ flex:0 0 50%; max-width:50%; }
}
body.v3 .card:has(.card-title .fa-cloud-download-alt) .btn-sm{ font-weight:500; font-size:.8rem; padding:.42rem .6rem; border-radius:6px; }
body.v3 .card:has(.card-title .fa-cloud-download-alt) .btn-outline-secondary{ background:#fff; border-color:#d3dbe7; color:#1f2a3d; box-shadow:0 1px 3px rgba(15,32,64,.06); }
body.v3 .card:has(.card-title .fa-cloud-download-alt) .btn-outline-secondary:hover{ background:var(--v3-pale); color:var(--v3-ink2); }
body.v3 .card:has(.card-title .fa-cloud-download-alt) .card-body{ padding-top:8px; padding-bottom:6px; }
body.v3 .card:has(.card-title .fa-cloud-download-alt) details summary{ color:var(--v3-c2) !important; font-weight:600; }
body.v3 .card:has(.card-title .fa-cloud-download-alt) .border.rounded{ padding:14px 16px !important; }

/* ---------- approved form & table scale (pages) ---------- */
body.v3:is(.v3-p-create_reseller,.v3-p-transfer,.v3-p-view_reseller,.v3-p-view_reseller7d,.v3-p-contact_developer,.v3-p-view_app_update,.v3-p-create_dns,.v3-p-add_domain,.v3-p-view_domain,.v3-p-rss_feed,.v3-p-history,.v3-p-site_settings,.v3-p-view_ticket_admin,.v3-p-create_update,.v3-p-view_update,.v3-p-view_dns,.v3-p-edit_dns,.v3-p-change_password,.v3-p-edit_update) .content .card form label, body.v3:is(.v3-p-create_reseller,.v3-p-transfer,.v3-p-view_reseller,.v3-p-view_reseller7d,.v3-p-contact_developer,.v3-p-view_app_update,.v3-p-create_dns,.v3-p-add_domain,.v3-p-view_domain,.v3-p-rss_feed,.v3-p-history,.v3-p-site_settings,.v3-p-view_ticket_admin,.v3-p-create_update,.v3-p-view_update,.v3-p-view_dns,.v3-p-edit_dns,.v3-p-change_password,.v3-p-edit_update) .content .card .form-group > label{ font-size:1.1rem; font-weight:700; letter-spacing:0; margin-bottom:.5rem; }
body.v3:is(.v3-p-create_reseller,.v3-p-transfer,.v3-p-view_reseller,.v3-p-view_reseller7d,.v3-p-contact_developer,.v3-p-view_app_update,.v3-p-create_dns,.v3-p-add_domain,.v3-p-view_domain,.v3-p-rss_feed,.v3-p-history,.v3-p-site_settings,.v3-p-view_ticket_admin,.v3-p-create_update,.v3-p-view_update,.v3-p-view_dns,.v3-p-edit_dns,.v3-p-change_password,.v3-p-edit_update) .content .card .form-control, body.v3:is(.v3-p-create_reseller,.v3-p-transfer,.v3-p-view_reseller,.v3-p-view_reseller7d,.v3-p-contact_developer,.v3-p-view_app_update,.v3-p-create_dns,.v3-p-add_domain,.v3-p-view_domain,.v3-p-rss_feed,.v3-p-history,.v3-p-site_settings,.v3-p-view_ticket_admin,.v3-p-create_update,.v3-p-view_update,.v3-p-view_dns,.v3-p-edit_dns,.v3-p-change_password,.v3-p-edit_update) .content .card .custom-select{ min-height:45px; font-size:1.05rem; padding:.45rem .9rem; border-radius:6px; }
body.v3:is(.v3-p-create_reseller,.v3-p-transfer,.v3-p-view_reseller,.v3-p-view_reseller7d,.v3-p-contact_developer,.v3-p-view_app_update,.v3-p-create_dns,.v3-p-add_domain,.v3-p-view_domain,.v3-p-rss_feed,.v3-p-history,.v3-p-site_settings,.v3-p-view_ticket_admin,.v3-p-create_update,.v3-p-view_update,.v3-p-view_dns,.v3-p-edit_dns,.v3-p-change_password,.v3-p-edit_update) .content .card textarea.form-control{ min-height:0; }
body.v3:is(.v3-p-create_reseller,.v3-p-transfer,.v3-p-view_reseller,.v3-p-view_reseller7d,.v3-p-contact_developer,.v3-p-view_app_update,.v3-p-create_dns,.v3-p-add_domain,.v3-p-view_domain,.v3-p-rss_feed,.v3-p-history,.v3-p-site_settings,.v3-p-view_ticket_admin,.v3-p-create_update,.v3-p-view_update,.v3-p-view_dns,.v3-p-edit_dns,.v3-p-change_password,.v3-p-edit_update) .content .card .form-group{ margin-bottom:1.3rem; }
body.v3:is(.v3-p-create_reseller,.v3-p-transfer,.v3-p-view_reseller,.v3-p-view_reseller7d,.v3-p-contact_developer,.v3-p-view_app_update,.v3-p-create_dns,.v3-p-add_domain,.v3-p-view_domain,.v3-p-rss_feed,.v3-p-history,.v3-p-site_settings,.v3-p-view_ticket_admin,.v3-p-create_update,.v3-p-view_update,.v3-p-view_dns,.v3-p-edit_dns,.v3-p-change_password,.v3-p-edit_update) .content .card-footer .btn, body.v3:is(.v3-p-create_reseller,.v3-p-transfer,.v3-p-view_reseller,.v3-p-view_reseller7d,.v3-p-contact_developer,.v3-p-view_app_update,.v3-p-create_dns,.v3-p-add_domain,.v3-p-view_domain,.v3-p-rss_feed,.v3-p-history,.v3-p-site_settings,.v3-p-view_ticket_admin,.v3-p-create_update,.v3-p-view_update,.v3-p-view_dns,.v3-p-edit_dns,.v3-p-change_password,.v3-p-edit_update) .content .card form .btn[type=submit]{ padding:.55rem 1.15rem; font-size:1.08rem; font-weight:500; }
body.v3:is(.v3-p-create_reseller,.v3-p-transfer,.v3-p-view_reseller,.v3-p-view_reseller7d,.v3-p-contact_developer,.v3-p-view_app_update,.v3-p-create_dns,.v3-p-add_domain,.v3-p-view_domain,.v3-p-rss_feed,.v3-p-history,.v3-p-site_settings,.v3-p-view_ticket_admin,.v3-p-create_update,.v3-p-view_update,.v3-p-view_dns,.v3-p-edit_dns,.v3-p-change_password,.v3-p-edit_update) .content .card > .card-header .card-title{ font-weight:600; font-size:1.2rem; }
body.v3:is(.v3-p-create_reseller,.v3-p-transfer,.v3-p-view_reseller,.v3-p-view_reseller7d,.v3-p-contact_developer,.v3-p-view_app_update,.v3-p-create_dns,.v3-p-add_domain,.v3-p-view_domain,.v3-p-rss_feed,.v3-p-history,.v3-p-site_settings,.v3-p-view_ticket_admin,.v3-p-create_update,.v3-p-view_update,.v3-p-view_dns,.v3-p-edit_dns,.v3-p-change_password,.v3-p-edit_update) .content .card > .card-header{ padding:15px 22px; }
body.v3:is(.v3-p-create_reseller,.v3-p-transfer,.v3-p-view_reseller,.v3-p-view_reseller7d,.v3-p-contact_developer,.v3-p-view_app_update,.v3-p-create_dns,.v3-p-add_domain,.v3-p-view_domain,.v3-p-rss_feed,.v3-p-history,.v3-p-site_settings,.v3-p-view_ticket_admin,.v3-p-create_update,.v3-p-view_update,.v3-p-view_dns,.v3-p-edit_dns,.v3-p-change_password,.v3-p-edit_update) .content .card-footer{ background:#f6f8fb; }
body.v3:is(.v3-p-create_reseller,.v3-p-transfer,.v3-p-view_reseller,.v3-p-view_reseller7d,.v3-p-contact_developer,.v3-p-view_app_update,.v3-p-create_dns,.v3-p-add_domain,.v3-p-view_domain,.v3-p-rss_feed,.v3-p-history,.v3-p-site_settings,.v3-p-view_ticket_admin,.v3-p-create_update,.v3-p-view_update,.v3-p-view_dns,.v3-p-edit_dns,.v3-p-change_password,.v3-p-edit_update) .content .table{ font-size:1rem; }
body.v3:is(.v3-p-create_reseller,.v3-p-transfer,.v3-p-view_reseller,.v3-p-view_reseller7d,.v3-p-contact_developer,.v3-p-view_app_update,.v3-p-create_dns,.v3-p-add_domain,.v3-p-view_domain,.v3-p-rss_feed,.v3-p-history,.v3-p-site_settings,.v3-p-view_ticket_admin,.v3-p-create_update,.v3-p-view_update,.v3-p-view_dns,.v3-p-edit_dns,.v3-p-change_password,.v3-p-edit_update) .content .table thead th{ font-size:.92rem; padding:.85rem .8rem; }
body.v3:is(.v3-p-create_reseller,.v3-p-transfer,.v3-p-view_reseller,.v3-p-view_reseller7d,.v3-p-contact_developer,.v3-p-view_app_update,.v3-p-create_dns,.v3-p-add_domain,.v3-p-view_domain,.v3-p-rss_feed,.v3-p-history,.v3-p-site_settings,.v3-p-view_ticket_admin,.v3-p-create_update,.v3-p-view_update,.v3-p-view_dns,.v3-p-edit_dns,.v3-p-change_password,.v3-p-edit_update) .content .table td{ padding:.85rem .8rem; }
body.v3:is(.v3-p-create_reseller,.v3-p-transfer,.v3-p-view_reseller,.v3-p-view_reseller7d,.v3-p-contact_developer,.v3-p-view_app_update,.v3-p-create_dns,.v3-p-add_domain,.v3-p-view_domain,.v3-p-rss_feed,.v3-p-history,.v3-p-site_settings,.v3-p-view_ticket_admin,.v3-p-create_update,.v3-p-view_update,.v3-p-view_dns,.v3-p-edit_dns,.v3-p-change_password,.v3-p-edit_update) .content .table .btn-sm, body.v3:is(.v3-p-create_reseller,.v3-p-transfer,.v3-p-view_reseller,.v3-p-view_reseller7d,.v3-p-contact_developer,.v3-p-view_app_update,.v3-p-create_dns,.v3-p-add_domain,.v3-p-view_domain,.v3-p-rss_feed,.v3-p-history,.v3-p-site_settings,.v3-p-view_ticket_admin,.v3-p-create_update,.v3-p-view_update,.v3-p-view_dns,.v3-p-edit_dns,.v3-p-change_password,.v3-p-edit_update) .content .table .btn-xs{ padding:.35rem .75rem; font-size:.9rem; }
body.v3 .dataTables_wrapper{ font-size:.95rem; }
body.v3 .dataTables_wrapper .dataTables_filter input{ min-height:38px; padding-left:32px; background:#fff url("/user/extension/v3/icons/magnifying-glass-muted.svg") 10px center/14px 14px no-repeat; }
body.v3 .dataTables_wrapper .dataTables_length select{ min-height:38px; min-width:76px; }
body.v3 .pagination .page-link{ min-width:38px; height:38px; display:flex; align-items:center; justify-content:center; }
body.v3 .badge.v3-status{ font-size:.92rem !important; padding:.5em 1em !important; font-weight:500; }
body.v3 .small-box:not(:has(> .small-box-footer)) > .inner{ padding-top:22px !important; padding-bottom:20px !important; }
body.v3 .nav-treeview > .nav-item:has(> .nav-treeview) > .nav-link .nav-icon{ color:var(--v3-c1) !important; }
body.v3:is(.v3-p-create_reseller,.v3-p-transfer,.v3-p-view_reseller,.v3-p-view_reseller7d,.v3-p-contact_developer,.v3-p-view_app_update,.v3-p-create_dns,.v3-p-add_domain,.v3-p-view_domain,.v3-p-rss_feed,.v3-p-history,.v3-p-site_settings,.v3-p-view_ticket_admin,.v3-p-create_update,.v3-p-view_update,.v3-p-view_dns,.v3-p-edit_dns,.v3-p-change_password,.v3-p-edit_update) .content .card > .card-header .card-title{ font-weight:600 !important; font-size:1.3rem; }
body.v3 .content .table td{ color:#1b2440; }
body.v3:is(.v3-p-create_reseller,.v3-p-transfer,.v3-p-view_reseller,.v3-p-view_reseller7d,.v3-p-contact_developer,.v3-p-view_app_update,.v3-p-create_dns,.v3-p-add_domain,.v3-p-view_domain,.v3-p-rss_feed,.v3-p-history,.v3-p-site_settings,.v3-p-view_ticket_admin,.v3-p-create_update,.v3-p-view_update,.v3-p-view_dns,.v3-p-edit_dns,.v3-p-change_password,.v3-p-edit_update) .content .table td{ font-weight:500; }
body.v3 .content .table thead th{ background:#f5f8fd; }
body.v3 .custom-select, body.v3 .dataTables_wrapper .dataTables_length select{ -webkit-appearance:none; appearance:none; background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%231f2a3d' d='M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z'/%3E%3C/svg%3E") right 12px center/12px 12px no-repeat !important; padding-right:34px !important; }

/* ---------- Ticket Management: title row, two search fields, full-width search (approved) ---------- */
body.v3 .ticket-header{ background:var(--v3-card-bg) center/100% 100% no-repeat,linear-gradient(100deg,var(--v3-c2) 0%,var(--v3-c2) 60%,var(--v3-c1) 120%) !important; color:var(--v3-text) !important; border-radius:var(--v3-r) !important; padding:16px 18px 18px !important; }
body.v3 .card:has(> .ticket-header){ background:transparent; box-shadow:0 8px 20px rgba(var(--v3-c2rgb),.2) !important; }
body.v3.v3-p-view_ticket_admin .card > .ticket-header > .d-flex{ flex-direction:column !important; align-items:stretch !important; }
body.v3.v3-p-view_ticket_admin .ticket-header .card-title{ margin-bottom:14px !important; color:var(--v3-text); font-size:1.3rem; font-weight:600; }
body.v3.v3-p-view_ticket_admin .ticket-header .card-tools{ width:100% !important; }
body.v3.v3-p-view_ticket_admin .ticket-header form .flex-md-row{ gap:14px; }
body.v3.v3-p-view_ticket_admin .ticket-header form .form-control{ background:#fff; border:0; border-radius:6px !important; min-height:40px; font-size:.95rem; }
body.v3.v3-p-view_ticket_admin .ticket-header form .btn-primary{ background:rgba(255,255,255,.06) !important; border:1px solid rgba(255,255,255,.75) !important; box-shadow:none; margin-top:12px !important; min-height:40px; border-radius:6px !important; font-weight:500; }
body.v3.v3-p-view_ticket_admin .ticket-header form .btn-primary:hover{ background:rgba(255,255,255,.16) !important; }

/* ---------- panel heading icons in soft circles (approved pages) ---------- */
body.v3 .card-header .v3-hicon{ order:2; margin-left:auto; flex:0 0 auto; width:62px; height:62px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.3),rgba(255,255,255,.14) 70%); color:#fff; font-size:28px; }
body.v3 .card > .card-header:has(.v3-hicon){ display:flex; align-items:center; min-height:84px; padding-top:10px; padding-bottom:10px; }
body.v3 .card > .card-header:has(.v3-hicon)::after{ display:none; }
body.v3 .card > .card-header:has(.v3-hicon) .card-title{ order:1; float:none; }
@media (min-width: 992px){
  body.v3.v3-p-contact_developer .content .row > .col-lg-8{ flex:0 0 63%; max-width:63%; }
  body.v3.v3-p-contact_developer .content .row > .col-lg-4{ flex:0 0 37%; max-width:37%; }
  body.v3.v3-p-contact_developer .content .row > .col-lg-4 > .card{ height:calc(100% - 1rem); }
  body.v3.v3-p-contact_developer .content .row > .col-lg-4 > .card > .card-body{ display:flex; align-items:center; justify-content:center; }
}
body.v3.v3-p-view_app_update .content textarea.form-control{ height:230px; }
@media (min-width: 992px){
  body.v3.v3-p-view_app_update .content .row > [class*="col-"]:only-child:has(> .card form){ flex:0 0 71%; max-width:71%; }
}
body.v3.v3-p-view_ticket_admin .content .container-fluid > .card-body:has(table){ background:#fff; border-radius:var(--v3-r); box-shadow:var(--v3-shadow); padding:0 14px 14px; margin-bottom:1rem; overflow:hidden; }
body.v3.v3-p-view_ticket_admin .content .container-fluid > .card-body:has(table)::before{ content:"Ticket List"; display:block; margin:0 -14px 12px; padding:15px 22px; font-size:1.3rem; font-weight:600; color:var(--v3-text);
  background:var(--v3-card-bg) center/100% 100% no-repeat,linear-gradient(100deg,var(--v3-c2) 0%,var(--v3-c2) 60%,var(--v3-c1) 120%); }
body.v3.v3-p-view_ticket_admin .content .table .btn{ padding:.45rem .9rem; font-size:.95rem; }
body.v3.v3-p-view_ticket_admin .content .table .badge{ font-size:.9rem; padding:.5em 1em; }
body.v3.v3-p-contact_developer .content .col-lg-4 .card-body p.text-muted{ font-weight:600; font-size:1.05rem; }

/* ---------- buttons on themed panel headers ---------- */
body.v3 .card > .card-header .card-tools .btn-light{ background:#fff !important; color:var(--v3-c2) !important; border:1px solid #fff !important; font-weight:600; padding:.38rem .85rem; border-radius:6px; }
body.v3 .card > .card-header .card-tools .btn-light:not(:last-child){ background:transparent !important; color:var(--v3-text) !important; border-color:rgba(255,255,255,.8) !important; }
body.v3 .card > .card-header .card-tools .btn-light:not(:last-child):hover{ background:rgba(255,255,255,.14) !important; }
body.v3 .card > .card-header .card-tools{ margin-top:-2px; }

/* ---------- info-box summary cards (ops pages) ---------- */
body.v3 .info-box{ min-height:106px; padding:16px 18px 16px 20px; margin-bottom:18px; }
body.v3 .info-box .info-box-icon{ width:66px; height:66px; font-size:28px; }
body.v3 .info-box .info-box-number{ font-size:2.4rem; margin-top:0; }
body.v3 .info-box .info-box-text{ font-size:1.05rem; }

/* ---------- table status pills & compact icon actions ---------- */
body.v3 .content .table .badge-danger{ background:#fdeaea; color:#d32f2f; }
body.v3 .content .table .badge-success{ background:#e3f7e8; color:#168a3a; }
body.v3 .content .table .badge-warning{ background:#fff2d9; color:#a86400; }
body.v3.v3-p-dns_manager .dns-state .badge{ font-size:.92rem; font-weight:500; padding:.45em .95em !important; border-radius:999px; }
body.v3.v3-p-dns_manager .dns-state .badge > i{ display:none; }
body.v3.v3-p-dns_manager .dns-state .badge::before{ content:""; display:inline-block; width:9px; height:9px; border-radius:50%; background:currentColor; margin-right:7px; vertical-align:1px; }
body.v3.v3-p-dns_manager .table code{ color:#1b2440; font-family:inherit; font-size:1rem; background:none; }
body.v3.v3-p-dns_manager .table td{ font-size:1rem; }
body.v3.v3-p-dns_manager .table td .font-weight-bold{ font-weight:700; }
body.v3.v3-p-dns_manager .table .btn-sm{ width:36px; height:36px; padding:0; display:inline-flex; align-items:center; justify-content:center; margin-left:6px; border-radius:7px; font-size:0; background:#fff; border:1px solid #d3dbe7; color:#1f2a3d; }
body.v3.v3-p-dns_manager .table .btn-sm i{ font-size:15px; margin:0 !important; }
body.v3.v3-p-dns_manager .table .btn-outline-danger{ border-color:#e57373; color:#d32f2f; }
body.v3.v3-p-dns_manager .btn-group .dns-filter{ border-radius:6px !important; margin-right:8px; padding:.4rem .95rem; font-size:.95rem; background:#fff; border:1px solid #d3dbe7; font-weight:500; }
body.v3.v3-p-dns_manager .btn-group .dns-filter.active{ background:var(--v3-c2) !important; color:var(--v3-text) !important; border-color:var(--v3-c2) !important; }
body.v3.v3-p-dns_manager .input-group{ max-width:340px !important; }
body.v3.v3-p-dns_manager .input-group .input-group-text{ background:#fff; border-right:0; border-radius:6px 0 0 6px; color:#1f2a3d; }
body.v3.v3-p-dns_manager .input-group .form-control{ border-left:0; min-height:38px; font-size:.98rem; }
body.v3.v3-p-dns_manager .content .table thead th{ font-size:.92rem; }
body.v3 .content .callout, body.v3 .content p.small:has(> .fa-info-circle){ }
body.v3.v3-p-dns_manager .content p.text-muted.small:has(> .fa-info-circle){ background:var(--v3-pale); border-radius:8px; padding:14px 18px 14px 46px; position:relative; color:#1f2a3d !important; font-size:.88rem; line-height:1.6; margin-top:18px !important; }
body.v3.v3-p-dns_manager .content p.text-muted.small > .fa-info-circle{ position:absolute; left:16px; top:15px; color:var(--v3-c2); font-size:18px; }
body.v3.v3-p-dns_manager .content p.text-muted.small b, body.v3.v3-p-dns_manager .content p.text-muted.small strong{ color:var(--v3-c2); }
body.v3.v3-p-dns_manager .table td{ padding-top:.5rem; padding-bottom:.5rem; }
body.v3 .info-box .info-box-icon{ width:76px; height:76px; font-size:32px; }
body.v3 .content .card > .card-header{ min-height:58px; }
body.v3 .content .card > .card-header .card-title > i:first-child{ font-size:1.15em; }
body.v3 .card > .card-header .card-tools .btn-light{ padding:.42rem .95rem; font-size:.95rem; }

/* ---------- View Server (approved) ---------- */
@media (min-width: 992px){
  body.v3.v3-p-view_server .content .row > .col-lg-4:has(> .small-box){ flex:0 0 25%; max-width:25%; }
  body.v3.v3-p-site_settings .content .row > .col-md-6:first-child{ flex:0 0 44%; max-width:44%; }
  body.v3.v3-p-site_settings .content .row > .col-md-6:last-child{ flex:0 0 56%; max-width:56%; }
}
body.v3.v3-p-view_server .content .card:first-child .card-body > p.text-muted:only-child{ text-align:center; padding:6px 0 4px; font-size:1rem; }
body.v3.v3-p-view_server .content .card:first-child .card-body > p.text-muted:only-child::before{ content:"\f233"; font-family:"Font Awesome 5 Free"; font-weight:900; display:block; font-size:30px; color:#7d8799; margin-bottom:6px; }
body.v3.v3-p-view_server .table .badge-light.border{ width:26px; height:26px; border-radius:50% !important; display:inline-flex; align-items:center; justify-content:center; padding:0; background:#fff; margin-right:10px !important; font-weight:600; }
body.v3.v3-p-view_server .table .badge-warning{ background:#fff2d9; color:#b26a00; font-weight:600; padding:.45em .9em; border-radius:999px; font-size:.8rem; }
body.v3.v3-p-view_server .table .badge-warning::before{ content:"\f521"; font-family:"Font Awesome 5 Free"; font-weight:900; margin-right:6px; }
body.v3.v3-p-view_server .srv-status .badge{ font-size:.86rem; font-weight:500; padding:.42em .9em; border-radius:999px; margin:2px 0; }
body.v3.v3-p-view_server .srv-status .badge::before{ content:""; display:inline-block; width:9px; height:9px; border-radius:50%; background:currentColor; margin-right:7px; vertical-align:1px; }
body.v3.v3-p-view_server .table td .btn-sm{ background:#fff !important; border:1px solid var(--v3-c2) !important; color:var(--v3-c2) !important; box-shadow:none !important; font-weight:600; padding:.32rem .75rem; border-radius:6px; margin:2px 0; }
body.v3.v3-p-view_server .table td .btn-sm:hover{ background:var(--v3-pale) !important; }
body.v3.v3-p-view_server .table td .btn-danger.btn-sm{ border-color:#e57373 !important; color:#d32f2f !important; }
body.v3.v3-p-view_server .table td .btn-danger.btn-sm:hover{ background:#fdeaea !important; }
body.v3.v3-p-view_server .table td .btn-warning.btn-sm{ border-color:#f0b450 !important; color:#a86400 !important; }
body.v3.v3-p-view_server .table td .btn-sm::before{ font-family:"Font Awesome 5 Free"; font-weight:900; margin-right:6px; }
body.v3.v3-p-view_server .table td a.btn-sm[href*="client.php"]::before{ content:"\f019"; }
body.v3.v3-p-view_server .table td .btn-info.btn-sm::before{ content:"\f303"; }
body.v3.v3-p-view_server .table td .btn-danger.btn-sm::before{ content:"\f2ed"; font-weight:400; }
body.v3.v3-p-view_server .table td .btn-warning.btn-sm::before{ content:"\f7d9"; }
body.v3.v3-p-view_server .table td .btn-sm[onclick*="restart"]::before{ content:"\f021"; }
body.v3.v3-p-view_server .table th a{ color:var(--v3-c2); margin-left:6px; }
body.v3.v3-p-view_server .content .table td{ font-size:.95rem; }
body.v3 .card-title .v3-ticon{ font-size:1.15em; margin-right:12px; }
body.v3 .note-editor.note-frame{ border:1px solid #d3dbe7; border-radius:8px; overflow:hidden; }
body.v3 .note-toolbar{ background:#f6f8fb; border-bottom:1px solid #e3e9f2; padding:6px 8px 2px; }
body.v3 .note-toolbar .btn{ padding:.18rem .42rem; font-size:.78rem; font-weight:400; box-shadow:none !important; background:#fff !important; color:#1f2a3d !important; border-color:#d3dbe7 !important; }
body.v3 .note-toolbar .note-btn-group{ margin:0 4px 4px 0; }
body.v3 .note-editable{ font-size:.92rem; }
body.v3 .dataTables_wrapper .dataTables_filter input{ padding-left:32px !important; }
@media (min-width: 992px){
  body.v3.v3-p-add_domain .content .row > [class*="col-"]:only-child:has(> .card form){ flex:0 0 71%; max-width:71%; }
  body.v3.v3-p-view_domain .content .row > [class*="col-"]:has(> .small-box){ flex:0 0 31%; max-width:31%; }
}
/* DNS Domain List: icon on the left, label above the count (approved) */
body.v3.v3-p-view_domain .small-box > .inner{ display:flex; flex-direction:column-reverse; padding:26px 20px 24px 120px !important; }
body.v3.v3-p-view_domain .small-box > .inner p{ margin-bottom:2px; font-size:1.1rem; }
body.v3.v3-p-view_domain .small-box .icon{ right:auto !important; left:18px; transform:translateY(-50%); }
body.v3.v3-p-view_domain .content .table .btn-danger{ padding:.45rem 1.2rem; font-size:1rem; font-weight:500; }
body.v3.v3-p-view_domain .content .table .btn-danger::before{ content:"\f2ed"; font-family:"Font Awesome 5 Free"; font-weight:900; margin-right:8px; }
/* RSS Feed and History (approved): centred / wide panel, tall header with large symbol, compact log rows */
@media (min-width: 992px){
  body.v3.v3-p-rss_feed .content .row > [class*="col-"]:only-child{ flex:0 0 65%; max-width:65%; margin:0 auto; }
  body.v3.v3-p-history .content .row > [class*="col-"]:only-child{ flex:0 0 97%; max-width:97%; margin:0 auto; }
}
body.v3:is(.v3-p-rss_feed,.v3-p-history) .content .card > .card-header{ min-height:80px; display:flex; align-items:center; }
body.v3:is(.v3-p-rss_feed,.v3-p-history) .content .card > .card-header .card-title{ font-weight:500 !important; font-size:1.35rem; }
body.v3:is(.v3-p-rss_feed,.v3-p-history) .content .card > .card-header .v3-ticon{ font-size:1.7em; vertical-align:middle; margin-right:16px; }
body.v3.v3-p-rss_feed .content textarea.form-control{ height:155px; }
body.v3.v3-p-rss_feed .content .card-footer{ background:#fff; border-top:0; padding-top:0; }
body.v3.v3-p-history .content .table td{ padding-top:.42rem; padding-bottom:.42rem; font-size:.95rem; }
body.v3.v3-p-history .content .table td:first-child{ color:var(--v3-c2); text-align:center; }

/* ---------- admin notice bar in the top bar (approved: pale theme strip) ---------- */
body.v3 .ops-nbar{ background:var(--v3-pale2); height:38px; border-radius:8px; margin:0 1rem 0 .5rem; }
body.v3 .ops-nbar .ops-ntrack{ height:38px; }
body.v3 .ops-nbar .ops-nitem{ background:transparent !important; font-size:.88rem; }
body.v3 .ops-nbar .ops-nitem[style*="#0f766e"], body.v3 .ops-nbar .ops-nitem[style*="#0369a1"]{ color:var(--v3-ink2) !important; }
body.v3 .ops-nbar .ops-nitem[style*="#0f766e"] > i.fa-sync-alt::before{ content:"\f05a"; }
body.v3 .ops-nbar .ops-nitem[style*="#0f766e"] > i{ color:var(--v3-c2); font-size:1.1em; }

/* ---------- Notice Management / App Notifications (approved) ---------- */
body.v3 .content > .container-fluid > .nav-pills .nav-link{ border:1px solid #d3dbe7; background:#fff; color:#1f2a3d; border-radius:6px; margin-right:8px; padding:.5rem 1.15rem; font-size:.92rem; font-weight:500; }
body.v3 .content > .container-fluid > .nav-pills .nav-link.active{ background:var(--v3-c2); border-color:var(--v3-c2); color:var(--v3-text); }
@media (min-width: 992px){
  body.v3:is(.v3-p-notices,.v3-p-app_notices) .content .row > .col-lg-5{ flex:0 0 38%; max-width:38%; }
  body.v3:is(.v3-p-notices,.v3-p-app_notices) .content .row > .col-lg-7{ flex:0 0 62%; max-width:62%; }
}
body.v3:is(.v3-p-notices,.v3-p-app_notices,.v3-p-rss_feed,.v3-p-history) .content .card > .card-header{ min-height:68px; display:flex; align-items:center; }
body.v3:is(.v3-p-notices,.v3-p-app_notices) .content .card > .card-header .card-title{ font-weight:500 !important; font-size:1.25rem; }
body.v3:is(.v3-p-notices,.v3-p-app_notices) .content .card > .card-header .v3-ticon{ font-size:1.45em; vertical-align:middle; margin-right:14px; }
body.v3:is(.v3-p-notices,.v3-p-app_notices,.v3-p-ops_setup,.v3-p-pkg_setup,.v3-p-app_servers) .content .card form label{ font-size:.86rem; margin-bottom:.3rem; }
body.v3:is(.v3-p-notices,.v3-p-app_notices,.v3-p-ops_setup,.v3-p-pkg_setup,.v3-p-app_servers) .content .card .form-control,
body.v3:is(.v3-p-notices,.v3-p-app_notices,.v3-p-ops_setup,.v3-p-pkg_setup,.v3-p-app_servers) .content .card .custom-select{ min-height:36px; font-size:.88rem; padding:.3rem .7rem; }
body.v3:is(.v3-p-notices,.v3-p-app_notices) .content .card form .form-group, body.v3:is(.v3-p-notices,.v3-p-app_notices) .content .card form > .row{ margin-bottom:.55rem; }
body.v3:is(.v3-p-notices,.v3-p-app_notices) .content .card form .row .form-group{ margin-bottom:.35rem; }
body.v3:is(.v3-p-notices,.v3-p-app_notices) .content .col-lg-5 form > button.btn{ width:100%; padding:.5rem; font-weight:500; }
body.v3:is(.v3-p-notices,.v3-p-app_notices) .content .bg-light.border.rounded{ background:var(--v3-pale) !important; border-color:var(--v3-pale2) !important; border-radius:8px !important; }
body.v3:is(.v3-p-notices,.v3-p-app_notices) .content .table{ font-size:.86rem; }
body.v3:is(.v3-p-notices,.v3-p-app_notices) .content .table td, body.v3:is(.v3-p-notices,.v3-p-app_notices) .content .table th{ padding:.55rem .65rem; }
body.v3:is(.v3-p-notices,.v3-p-app_notices) .content .table .btn-sm{ padding:.25rem .6rem; font-size:.8rem; }
body.v3:is(.v3-p-notices,.v3-p-app_notices) .content .table .badge{ font-weight:500; padding:.4em .8em; border-radius:999px; }
body.v3 .content .table .badge-info{ background:var(--v3-pale2); color:var(--v3-ink2); }
body.v3 .nav-sidebar .nav-link p{ white-space:nowrap; }
@media (min-width: 992px){
  body.v3.v3-p-notices .content .col-lg-5 form > .form-group:nth-of-type(-n+2){ display:grid; grid-template-columns:66px 1fr; column-gap:8px; align-items:start; }
  body.v3.v3-p-notices .content .col-lg-5 form > .form-group:nth-of-type(-n+2) > label{ padding-top:8px; }
}
body.v3.v3-p-app_notices .content .col-lg-7 form .btn-primary{ width:100%; font-weight:500; }
body.v3.v3-p-app_notices .content .col-lg-7 form small.text-muted.d-block,
body.v3.v3-p-app_notices .content .col-lg-7 .card-body > small.text-muted:last-child{ background:var(--v3-pale); border-radius:8px; padding:10px 14px 10px 38px; position:relative; color:#1f2a3d !important; margin-top:10px; line-height:1.55; }
body.v3.v3-p-app_notices .content .col-lg-7 form small.text-muted.d-block::before,
body.v3.v3-p-app_notices .content .col-lg-7 .card-body > small.text-muted:last-child::before{ content:"\f05a"; font-family:"Font Awesome 5 Free"; font-weight:900; position:absolute; left:14px; top:10px; color:var(--v3-c2); }

/* ---------- Add Server: two-column form (approved) ---------- */
@media (min-width: 992px){
  body.v3.v3-p-add_server .content .row > [class*="col-"]:has(> .small-box){ flex:0 0 30%; max-width:30%; }
  body.v3.v3-p-add_server .content .row > [class*="col-"]:only-child:has(> .card form){ flex:0 0 87%; max-width:87%; }
  body.v3.v3-p-add_server .content .card form > .card-body{ display:grid; grid-template-columns:1fr 1fr; column-gap:24px; align-items:start; }
  body.v3.v3-p-add_server .content .card form > .card-body > *{ min-width:0; }
  body.v3.v3-p-add_server .content .card form > .card-body > #ssh_fields, body.v3.v3-p-add_server .content .card form > .card-body > .alert{ grid-column:1 / -1; column-count:2; column-gap:24px; }
  body.v3.v3-p-add_server #ssh_fields > *{ break-inside:avoid; }
}
body.v3.v3-p-add_server .content .card form .form-control, body.v3.v3-p-add_server .content .card form .custom-select{ min-height:40px; font-size:.95rem; }
body.v3.v3-p-add_server .content .card form label{ font-size:1rem; }
/* setup pages: text values in summary cards, solid status labels as approved */
body.v3:is(.v3-p-ops_setup,.v3-p-pkg_setup) .small-box > .inner h3{ font-size:1.8rem; white-space:normal; }
body.v3:is(.v3-p-ops_setup,.v3-p-pkg_setup) .content .table .badge-success{ background:#16a34a; color:#fff; }
body.v3:is(.v3-p-ops_setup,.v3-p-pkg_setup) .content .table .badge-warning{ background:#facc15; color:#1f2a3d; }
body.v3:is(.v3-p-ops_setup,.v3-p-pkg_setup) .content .table{ font-size:.85rem; }
body.v3:is(.v3-p-ops_setup,.v3-p-pkg_setup) .content .table td{ padding:.4rem .6rem; }
@media (min-width: 992px){
  body.v3:is(.v3-p-ops_setup,.v3-p-pkg_setup) .content .row > .col-lg-7{ flex:0 0 57%; max-width:57%; }
  body.v3:is(.v3-p-ops_setup,.v3-p-pkg_setup) .content .row > .col-lg-5{ flex:0 0 43%; max-width:43%; }
}

/* ---------- Blocked users: coloured square icon on the left, label above count (approved) ---------- */
body.v3.v3-p-blocked_users .info-box{ padding:14px 16px; min-height:96px; }
body.v3.v3-p-blocked_users .info-box .info-box-icon{ order:0; margin-left:0; margin-right:14px; width:54px; height:54px; border-radius:8px !important; font-size:24px; box-shadow:0 4px 10px rgba(0,0,0,.12) !important; }
body.v3.v3-p-blocked_users .info-box .info-box-icon.bg-danger{ background:#e53950 !important; }
body.v3.v3-p-blocked_users .info-box .info-box-icon.bg-secondary{ background:#6b7280 !important; }
body.v3.v3-p-blocked_users .info-box .info-box-icon.bg-info{ background:#1aa3b8 !important; }
body.v3.v3-p-blocked_users .info-box .info-box-icon.bg-warning{ background:#f2b400 !important; color:#1f2a3d !important; }
body.v3.v3-p-blocked_users .info-box .info-box-content{ order:1; }
body.v3.v3-p-blocked_users .info-box .info-box-number{ order:0; font-size:1.6rem; }
body.v3.v3-p-blocked_users .content .table .badge-success{ background:#e3f7e8; color:#168a3a; }
body.v3.v3-p-blocked_users .content .table .btn-sm{ background:#fff; border:1px solid #2fa84f; color:#168a3a; font-weight:500; }
/* ---------- Online User (approved): two wide cards, plain large symbol, green dot by the online count ---------- */
@media (min-width: 992px){
  body.v3.v3-p-online_user .content .row:has(> div > .small-box) > div{ flex:0 0 50%; max-width:50%; }
}
body.v3.v3-p-online_user .small-box .icon > i{ background:none; box-shadow:none; font-size:52px !important; opacity:.9 !important; }
@media (min-width: 992px){
  body.v3.v3-p-view_subreseller .content .row:has(> div > .small-box) > div{ flex:0 0 50%; max-width:50%; }
}
@media (min-width: 992px){
  body.v3.v3-p-create_update .content .row > [class*="col-"]:only-child:has(> .card form){ flex:0 0 58%; max-width:58%; }
}
body.v3.v3-p-create_update .content textarea.form-control{ height:300px; }
/* Packages (approved compact module page) */
body.v3.v3-p-view_packages .content .card form label{ font-size:.86rem; margin-bottom:.3rem; }
body.v3.v3-p-view_packages .content .card .form-control, body.v3.v3-p-view_packages .content .card .custom-select{ min-height:34px; font-size:.86rem; padding:.25rem .6rem; }
body.v3.v3-p-view_packages .content .card form .form-group{ margin-bottom:.7rem; }
body.v3.v3-p-view_packages .content .table{ font-size:.8rem; }
body.v3.v3-p-view_packages .content .table th{ font-size:.76rem; padding:.5rem .45rem; }
body.v3.v3-p-view_packages .content .table td{ padding:.45rem .45rem; }
body.v3.v3-p-view_packages .content .table .btn-sm{ padding:.18rem .45rem; font-size:.74rem; }
body.v3.v3-p-view_packages .content .table .badge-success{ background:#16a34a; color:#fff; }
body.v3.v3-p-view_packages .content .card > .card-header .card-title{ font-size:1.05rem; }
@media (min-width: 992px){
  body.v3:is(.v3-p-expired,.v3-p-online_user,.v3-p-view_user7d) .content .row:has(> div > .small-box) > div{ flex:0 0 50%; max-width:50%; }
}
body.v3 .dataTables_wrapper .dataTables_length select{ width:84px !important; padding-left:12px !important; color:#1f2a3d; }
/* sign-in refinements (approved) */
body.v3 .login-card{ max-width:490px !important; }
body.v3 .login-card::before{ height:188px; }
body.v3 .login-card .title{ margin:0 !important; font-size:26px !important; }
body.v3 .login-card .subtitle{ margin:0 0 22px !important; padding-top:46px; color:#3b4a63 !important; font-size:14.5px; }
body.v3 .login-card .links{ font-size:14.5px; }
body.v3 .login-card .links a{ color:var(--v3-ink2) !important; }
body.v3 .login-card .ops-login-downloads a{ color:#3b4a63 !important; }
html.v3 body.v3:has(.login-card){ position:relative; isolation:isolate; }
html.v3 body.v3:has(.login-card)::before{ content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; background:var(--v3-pale3); opacity:.5;
  -webkit-mask:url("/user/extension/v3/waves-bg.svg") center/100% 100% no-repeat; mask:url("/user/extension/v3/waves-bg.svg") center/100% 100% no-repeat; }

/* ---------- dialogs (approved): white header with soft theme wave, tinted backdrop, theme confirm ---------- */
body.v3 .modal-backdrop.show{ background:var(--v3-c3); opacity:.24; }
body.v3 .modal-lg, body.v3 .modal-xl{ max-width:860px; }
body.v3 .modal-content{ border-radius:14px; }
body.v3 .modal-header:not(.bg-primary):not(.bg-info):not(.bg-danger):not([style*="background"]){ background:#fff url("/user/extension/v3/waves-bg.svg") right top/70% 140% no-repeat; position:relative; padding:18px 22px; border-bottom:0; }
body.v3 .modal-header:not(.bg-primary):not(.bg-info):not(.bg-danger):not([style*="background"])::before{ content:""; position:absolute; inset:0; background:linear-gradient(90deg,#fff 30%,rgba(255,255,255,.75)); pointer-events:none; }
body.v3 .modal-header > *{ position:relative; }
body.v3 .modal-header .modal-title{ font-size:1.55rem; font-weight:700; color:#141e33; }
body.v3 .modal-header .close{ font-size:1.8rem; font-weight:300; opacity:.7; }
body.v3 .modal-body{ padding:6px 22px 20px; }
body.v3 .modal-body h6, body.v3 .modal-body .font-weight-bold:not(td *):not(th *){ font-size:1.05rem; }
body.v3 .modal-body .table{ font-size:.9rem; }
body.v3 .modal-body .table .badge-warning{ background:#facc15; color:#1f2a3d; }
body.v3 .modal-body .table .badge-success{ background:#16a34a; color:#fff; }
body.v3 .modal-body .btn-outline-danger{ padding:.45rem 1rem; font-size:.95rem; font-weight:500; border-radius:6px; }
body.v3 .swal2-container.swal2-backdrop-show{ background:rgba(var(--v3-c3rgb,0,70,180),.16) !important; }
body.v3 .swal2-popup{ border-radius:14px !important; font-family:inherit; }
body.v3 .swal2-styled.swal2-confirm:not([style*="background-color: rgb(221, 51, 51)"]):not([style*="#d33"]){ background:var(--v3-c2) !important; }
body.v3 .swal2-styled{ border-radius:6px !important; font-weight:600; padding:.6rem 1.6rem !important; }
body.v3 .swal2-input{ border-radius:6px; font-size:1rem; height:2.8em; }
body.v3 .swal2-popup:has(#pkgOldRenew) .swal2-title{ text-align:left; font-size:1.6rem; padding-left:1.4em; }

/* ---------- Billing & Payment (approved paid / due / pending states) ---------- */
body.v3 .sa-bill .card{ border:0 !important; border-radius:var(--v3-r) !important; box-shadow:var(--v3-shadow) !important; }
body.v3 .sa-bill .card-theme{ border-top:0 !important; }
body.v3 .sa-bill .card > .card-header{ background:linear-gradient(90deg,#fff 0%,#fff 35%,var(--v3-pale) 100%) !important; border-bottom:1px solid var(--v3-line); padding:14px 20px; min-height:0; }
body.v3 .sa-bill .card-title{ font-size:1.2rem !important; color:#141e33; }
body.v3 .sa-bill .sa-hero{ background:#fff; border-left:0 !important; padding:22px 26px; }
body.v3 .sa-bill .sa-hero-ic{ flex-basis:66px; width:66px; height:66px; font-size:30px; margin-right:20px; box-shadow:0 0 0 8px var(--bg); }
body.v3 .sa-bill .sa-t-success .sa-hero-ic{ background:#22c55e; color:#fff; box-shadow:0 0 0 8px #dcfce7; }
body.v3 .sa-bill .sa-t-info .sa-hero-ic{ background:var(--v3-pale2); color:var(--v3-c2); box-shadow:0 0 0 8px var(--v3-pale); }
body.v3 .sa-bill .sa-hero-main h2{ font-size:1.55rem; color:#141e33; }
body.v3 .sa-bill .sa-hero-main p{ font-size:1.05rem; }
body.v3 .sa-bill .sa-hero-side{ border-left:1px solid var(--v3-line); padding-left:40px; text-align:left; min-width:220px; }
body.v3 .sa-bill .sa-hero-amt{ font-size:1.9rem; color:#141e33; }
body.v3 .sa-bill .sa-hero-amt small{ font-size:1.9rem; font-weight:700; color:#141e33; }
body.v3 .sa-bill .sa-hero-side .btn-theme{ background:var(--v3-c2) !important; color:var(--v3-text) !important; }
/* summary cards -> theme wave cards with icon circles */
body.v3 .sa-bill .sa-stats{ margin:0 -9px 6px; }
body.v3 .sa-bill .sa-stats > div{ padding:0 9px 18px; }
body.v3 .sa-bill .sa-stat{ background:var(--v3-card-bg) center/100% 100% no-repeat,var(--v3-grad) !important; border:0; border-radius:var(--v3-r); color:var(--v3-text); box-shadow:0 8px 20px rgba(var(--v3-c2rgb),.22); padding:20px 18px 18px 112px; min-height:128px; position:relative; display:flex; flex-direction:column; justify-content:center; }
body.v3 .sa-bill .sa-stat::before{ font-family:"Font Awesome 5 Free"; font-weight:900; position:absolute; left:18px; top:16px; width:76px; height:76px; border-radius:50%; background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.28),rgba(255,255,255,.13) 70%); display:flex; align-items:center; justify-content:center; font-size:34px; color:#fff; }
body.v3 .sa-bill .sa-stats > div:nth-child(1) .sa-stat::before{ content:"\f15c"; }
body.v3 .sa-bill .sa-stats > div:nth-child(2) .sa-stat::before{ content:"\f51e"; }
body.v3 .sa-bill .sa-stats > div:nth-child(3) .sa-stat::before{ content:"\f073"; }
body.v3 .sa-bill .sa-stats > div:nth-child(4) .sa-stat::before{ content:"\f0c0"; }
body.v3 .sa-bill .sa-stat .sa-k{ color:var(--v3-text); opacity:.95; font-size:.85rem; }
body.v3 .sa-bill .sa-stat .sa-v{ color:var(--v3-text); font-size:1.45rem; }
body.v3 .sa-bill .sa-stat .sa-s{ color:var(--v3-text); opacity:.95; font-size:.92rem; }
body.v3 .sa-bill .sa-stat .sa-pill{ background:rgba(255,255,255,.22); color:#fff; font-size:.95rem; padding:4px 14px 4px 10px; }
body.v3 .sa-bill .sa-stat .sa-pill.sa-t-success::before{ content:""; display:inline-block; width:12px; height:12px; border-radius:50%; background:#3ddc4b; margin-right:7px; vertical-align:-1px; box-shadow:0 0 0 3px rgba(61,220,75,.3); }
/* two panels side by side when there is nothing to pay (approved paid state) */
@media (min-width: 992px){
  body.v3 .sa-bill > .container-fluid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:18px; }
  body.v3 .sa-bill > .container-fluid > *{ grid-column:1 / -1; }
  body.v3 .sa-bill > .container-fluid > .sa-stats + .card:has(+ .card-theme:not(#submit)){ grid-column:1; }
  body.v3 .sa-bill > .container-fluid > .sa-stats + .card + .card-theme:not(#submit){ grid-column:2; }
}
body.v3 .sa-bill .card-header .sa-pill{ background:#16a34a; color:#fff; font-size:.85rem; padding:4px 12px; }
body.v3 .sa-bill .card-header .sa-pill.sa-t-warning{ background:#fff2d9; color:#a86400; }
body.v3 .sa-bill .sa-tbl td{ font-size:.98rem; color:#1b2440; }
body.v3 .sa-bill .sa-tbl th{ font-size:.82rem; color:#141e33; background:#f5f8fd; }
body.v3 .sa-bill .sa-tbl td .sa-pill{ background:transparent; color:#1b2440; font-size:.98rem; font-weight:500; padding:0; }
body.v3 .sa-bill .sa-tbl td .sa-pill::before{ content:""; display:inline-block; width:13px; height:13px; border-radius:50%; background:var(--c); margin-right:8px; vertical-align:-1px; }
body.v3 .sa-bill .btn-default{ color:var(--v3-c2); font-weight:600; border-color:#d3dbe7; }
body.v3 .sa-bill .sa-chip{ display:inline-flex; align-items:center; border:1px solid var(--v3-line); border-radius:10px; padding:8px 14px 8px 8px; font-weight:500; font-size:.92rem; box-shadow:0 1px 3px rgba(15,32,64,.05); }
body.v3 .sa-bill .sa-chip > i{ width:32px; height:32px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; color:#fff !important; margin-right:9px !important; font-size:17px; background:#6b7280; }
body.v3 .sa-bill .sa-chip > i[style*="f7931a"]{ background:#f7931a; }
body.v3 .sa-bill .sa-chip > i[style*="26a17b"]{ background:#26a17b; }
body.v3 .sa-bill .sa-chip > i[style*="2775ca"]{ background:#2775ca; }
body.v3 .sa-bill .sa-chip > i[style*="003087"]{ background:#fff; color:#003087 !important; font-size:26px; }
body.v3.v3-p-billing_payment .content-header .btn-default{ background:#fff; color:var(--v3-c2); border:1px solid #d3dbe7; font-weight:600; }
body.v3 .sa-bill .sa-num{ background:var(--v3-c2) !important; color:var(--v3-text) !important; }
body.v3 .sa-bill .sa-tk.now .sa-dot{ background:var(--v3-c2) !important; }
body.v3 .sa-bill .btn-theme{ background:var(--v3-c2) !important; color:var(--v3-text) !important; }
body.v3 .sa-bill .sa-chip{ font-size:.82rem; padding:6px 10px 6px 6px; margin:0 6px 6px 0; }
body.v3 .sa-bill .sa-chip > i{ width:28px; height:28px; font-size:15px; }
body.v3.v3-p-app_servers .content .card > .card-header{ min-height:68px; display:flex; align-items:center; }
body.v3.v3-p-app_servers .content .card > .card-header .card-title{ font-weight:500 !important; font-size:1.25rem; }
body.v3.v3-p-app_servers .content .card > .card-header .v3-ticon{ font-size:1.45em; margin-right:16px; }
/* phones: the panel hides card icons below 768px, so give the text the full card width */
@media (max-width: 767.98px){
  body.v3 .small-box > .inner{ padding:14px 14px 8px !important; text-align:left; }
  body.v3 .small-box > .inner h3{ font-size:clamp(1.5rem, 7vw, 2.2rem); white-space:normal; word-break:break-all; }
  body.v3 .small-box > .inner p{ font-size:.92rem; }
  body.v3 .ops-nbar{ margin:0 .35rem; }
  body.v3 .sa-bill .sa-hero-side{ border-left:0; padding-left:0; }
  body.v3 .sa-bill .sa-stat{ min-height:110px; }
}
