/*
Theme Name: Digit - Responsive WHMCS Client Area Template
Theme URI: http://www.whmcsdes.com
Description: Custom CSS File
Version: 8.9.0
Author: WHMCSdes
Author URI: http://whmcsdes.com
Tags: powerful, host
*/

/* CapyProxies — Digit theme customizations */

/* ── Proxy account page ── */
.ov-wrap { font-family: inherit; }
.ov-section { background: var(--panel-bg, #1e2530); border: 1px solid rgba(255,255,255,0.07); border-radius: 6px; margin-bottom: 16px; overflow: hidden; }
.ov-section-head { padding: 12px 16px; border-bottom: 1px solid rgba(255,255,255,0.07); display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; color: #ccc; }
.ov-topbar { display: grid; grid-template-columns: 1fr 1fr; }
.ov-topbar-left { padding: 16px 18px; border-right: 1px solid rgba(255,255,255,0.07); }
.ov-topbar-right { padding: 16px 18px; }
.ov-label { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: #666; margin-bottom: 6px; }
.ov-status-badge { display: inline-flex; align-items: center; gap: 5px; background: rgba(34,197,94,0.1); color: #4ade80; border: 1px solid rgba(34,197,94,0.2); border-radius: 20px; padding: 3px 10px; font-size: 12px; font-weight: 600; }
.ov-status-dot { width: 5px; height: 5px; background: #4ade80; border-radius: 50%; }
.ov-balance-num { font-size: 28px; font-weight: 700; line-height: 1; }
.ov-balance-num.green { color: #4ade80; }
.ov-balance-num.yellow { color: #fbbf24; }
.ov-balance-num.red { color: #f87171; }
.ov-balance-sub { font-size: 12px; color: #666; margin-top: 3px; }
.ov-progress-track { height: 4px; background: rgba(255,255,255,0.08); border-radius: 2px; margin-top: 10px; }
.ov-progress-fill { height: 100%; border-radius: 2px; }
.ov-progress-fill.green { background: #4ade80; }
.ov-progress-fill.yellow { background: #fbbf24; }
.ov-progress-fill.red { background: #f87171; }
.ov-creds { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 14px; }
.ov-cred-box { background: rgba(0,0,0,0.2); border: 1px solid rgba(255,255,255,0.06); border-radius: 6px; padding: 12px 14px; }
.ov-cred-label { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 6px; }
.ov-cred-label.blue { color: #60a5fa; }
.ov-cred-label.amber { color: #fbbf24; }
.ov-cred-label.rose { color: #fb7185; }
.ov-cred-label.gray { color: #666; }
.ov-cred-val { font-family: monospace; font-size: 12.5px; word-break: break-all; margin-bottom: 8px; }
.ov-cred-val.blue { color: #93c5fd; }
.ov-cred-val.amber { color: #fde68a; }
.ov-cred-val.rose { color: #fda4af; }
.ov-cred-val.white { color: #f9fafb; }
.ov-copy-btn { border: none; border-radius: 4px; padding: 4px 10px; font-size: 11px; font-weight: 600; cursor: pointer; transition: all .15s; }
.ov-copy-btn.blue { background: rgba(96,165,250,0.12); color: #60a5fa; }
.ov-copy-btn.amber { background: rgba(251,191,36,0.12); color: #fbbf24; }
.ov-copy-btn.rose { background: rgba(251,113,133,0.12); color: #fb7185; }
.ov-copy-btn:hover { opacity: 0.75; }
.ov-info-grid { display: grid; grid-template-columns: repeat(3,1fr); }
.ov-info-item { padding: 10px 14px; border-right: 1px solid rgba(255,255,255,0.06); }
.ov-info-item:last-child { border-right: none; }
.ov-info-label { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: #555; margin-bottom: 3px; }
.ov-info-val { font-size: 13px; font-weight: 500; color: #ccc; }
.ov-info-val.purple { color: #c4b5fd; }
.ov-gen-head { background: rgba(99,102,241,0.08) !important; border-bottom-color: rgba(99,102,241,0.15) !important; color: #a5b4fc !important; }
.ov-gen-body { padding: 16px; }
.ov-gen-label { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: #666; margin-bottom: 6px; }
.ov-preset-row { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; margin-bottom: 14px; }
.ov-preset-btn { background: rgba(255,255,255,0.05); color: #999; border: 1px solid rgba(255,255,255,0.1); border-radius: 5px; padding: 5px 13px; font-size: 12px; font-weight: 600; cursor: pointer; transition: all .15s; }
.ov-preset-btn:hover { background: rgba(255,255,255,0.08); color: #eee; }
.ov-preset-btn.active { background: rgba(99,102,241,0.2); color: #a5b4fc; border-color: rgba(99,102,241,0.3); }
.ov-qty-input { background: rgba(0,0,0,0.3); color: #eee; border: 1px solid rgba(255,255,255,0.1); border-radius: 5px; padding: 5px 8px; font-size: 12px; width: 72px; text-align: center; }
.ov-type-row { display: flex; gap: 8px; margin-bottom: 14px; }
.ov-type-btn { flex: 1; background: rgba(255,255,255,0.04); color: #888; border: 1px solid rgba(255,255,255,0.08); border-radius: 6px; padding: 10px 12px; font-size: 12px; font-weight: 600; cursor: pointer; transition: all .15s; text-align: left; }
.ov-type-btn small { display: block; font-size: 11px; font-weight: 400; opacity: .6; margin-top: 2px; }
.ov-type-btn:hover { background: rgba(255,255,255,0.07); color: #eee; }
.ov-type-btn.active { background: rgba(99,102,241,0.15); color: #a5b4fc; border-color: rgba(99,102,241,0.3); }
.ov-selects { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 14px; }
.ov-select { background: rgba(0,0,0,0.3); color: #eee; border: 1px solid rgba(255,255,255,0.1); border-radius: 6px; padding: 8px 10px; font-size: 12px; width: 100%; }
.ov-gen-btn { width: 100%; background: #5046e4; color: #fff; border: none; border-radius: 6px; padding: 11px; font-size: 13px; font-weight: 700; cursor: pointer; transition: background .15s; margin-bottom: 2px; }
.ov-gen-btn:hover { background: #6366f1; }
.ov-output-meta { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; }
.ov-output-meta span { font-size: 11px; color: #666; }
.ov-output-actions { display: flex; gap: 5px; }
.ov-out-btn { background: rgba(255,255,255,0.05); color: #888; border: 1px solid rgba(255,255,255,0.1); border-radius: 5px; padding: 4px 10px; font-size: 11px; font-weight: 600; cursor: pointer; transition: all .15s; }
.ov-out-btn:hover { background: rgba(255,255,255,0.08); color: #eee; }
.ov-out-btn.success { background: rgba(34,197,94,0.1); color: #4ade80; border-color: rgba(34,197,94,0.2); }
.ov-textarea { width: 100%; background: #0d1117; color: #86efac; border: 1px solid rgba(255,255,255,0.07); border-radius: 6px; padding: 12px; font-family: monospace; font-size: 12px; line-height: 1.6; resize: vertical; min-height: 150px; }
.ov-locked { text-align: center; padding: 36px 20px; }
.ov-locked-icon { font-size: 40px; margin-bottom: 10px; }
.ov-locked h4 { color: #f87171; font-size: 15px; margin-bottom: 6px; }
.ov-locked p { color: #666; font-size: 13px; margin-bottom: 18px; }
.ov-locked a { background: #5046e4; color: #fff; border-radius: 6px; padding: 9px 22px; font-size: 13px; font-weight: 600; text-decoration: none; }

/* ── Store page dark theme fix ── */
.dynamic-landing-page {
    background: #111827 !important;
}
.dynamic-landing-page .background-gradient,
.dynamic-landing-page .background-light,
.dynamic-landing-page .background-main,
.dynamic-landing-page .background-dark,
.dynamic-landing-page section,
.dynamic-landing-page .card,
.dynamic-landing-page .product-card,
.dynamic-landing-page .feature,
.dynamic-landing-page .plan-card,
.dynamic-landing-page .pricing-card {
    background: #1e2530 !important;
    background-image: none !important;
}
.dynamic-landing-page h1,
.dynamic-landing-page h2,
.dynamic-landing-page h3,
.dynamic-landing-page h4,
.dynamic-landing-page h5,
.dynamic-landing-page p,
.dynamic-landing-page li,
.dynamic-landing-page span:not(.badge):not(.label),
.dynamic-landing-page a:not(.btn),
.dynamic-landing-page .feature h3,
.dynamic-landing-page .feature p,
.dynamic-landing-page .features-title,
.dynamic-landing-page .features-subtitle,
.dynamic-landing-page .hero-title,
.dynamic-landing-page .hero-subtitle,
.dynamic-landing-page .plan-name,
.dynamic-landing-page .plan-price,
.dynamic-landing-page .plan-description {
    color: #f9fafb !important;
}
.dynamic-landing-page .text-secondary,
.dynamic-landing-page [class*="subtitle"],
.dynamic-landing-page [class*="description"] {
    color: #9ca3af !important;
}
/* Feature checkmark items */
.dynamic-landing-page .features-content .feature {
    background: rgba(255,255,255,0.04) !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
}
/* Store product cards */
.dynamic-landing-page .plan-card,
.dynamic-landing-page .pricing-card,
.dynamic-landing-page [class*="plan"],
.dynamic-landing-page [class*="product"] {
    border: 1px solid rgba(255,255,255,0.1) !important;
    background: #1e2530 !important;
}
/* Order Now button */
.dynamic-landing-page .btn-primary,
.dynamic-landing-page [class*="order-btn"],
.dynamic-landing-page [class*="cta"] {
    background: #6366f1 !important;
    border-color: #6366f1 !important;
    color: #fff !important;
}

/* ── Cart & Checkout page fix ── */
/* Cart table */
.cart-container,
#cart-table,
.table-cart,
.order-summary,
.cart-content,
.viewcart,
.cart .panel,
.cart .panel-body,
.checkout-content {
    background: #1e2530 !important;
    color: #f9fafb !important;
}
.cart table th,
.cart table td,
#cart-table th,
#cart-table td,
.table-cart th,
.table-cart td {
    color: #f9fafb !important;
    border-color: rgba(255,255,255,0.08) !important;
    background: transparent !important;
}
/* Cart header row */
.cart table thead th,
#cart-table thead th {
    background: rgba(255,255,255,0.05) !important;
    color: #9ca3af !important;
}
/* Product name + price in cart */
.cart .product-name,
.cart .product-title,
.cart .item-name,
.cart strong,
.cart b,
.cart p,
.cart span:not(.label):not(.badge),
.cart td,
.cart th,
.cart h1,.cart h2,.cart h3,.cart h4 {
    color: #f9fafb !important;
}
/* Order summary panel */
.order-summary,
.cart-summary,
[class*="order-summary"],
[class*="cart-summary"] {
    background: #1e2530 !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
    color: #f9fafb !important;
}
[class*="order-summary"] *,
[class*="cart-summary"] * {
    color: #f9fafb !important;
}
/* Promo code area */
.promo-code,
[class*="promo"],
.coupon-section {
    background: #1e2530 !important;
    color: #f9fafb !important;
}
/* "Review & Checkout" title */
.page-title,
.checkout-title,
h1.title, h2.title {
    color: #f9fafb !important;
}
/* Empty Cart / Continue Shopping links */
a[href*="emptycart"],
a[href*="view=cart"],
.cart a { color: #818cf8 !important; }

/* General store/cart page white background fix */
body.cart section.content,
body.viewcart section.content,
body.cart .container,
body.viewcart .container {
    background: transparent !important;
}
body.cart .panel,
body.viewcart .panel,
body.cart .card,
body.viewcart .card {
    background: #1e2530 !important;
    border-color: rgba(255,255,255,0.08) !important;
}
body.cart *,
body.viewcart * {
    color: #f9fafb;
}
body.cart .text-muted,
body.viewcart .text-muted { color: #9ca3af !important; }
body.cart .btn-primary,
body.viewcart .btn-primary { background: #6366f1 !important; color: #fff !important; }

/* ── Store group page — hide default product cards, show custom UI ── */
.dynamic-landing-page { display: none !important; }
#cp-store { display: block !important; }

/* ── confproduct page (product configuration step) ── */
#order-standard_cart .product-details,
#order-standard_cart .product-name,
#order-standard_cart .product-description,
#order-standard_cart .product-price,
#order-standard_cart .billing-cycle,
#order-standard_cart h1,
#order-standard_cart h2,
#order-standard_cart h3,
#order-standard_cart h4,
#order-standard_cart p,
#order-standard_cart label,
#order-standard_cart span,
#order-standard_cart td,
#order-standard_cart th,
#order-standard_cart li { color: #f1f5f9 !important; }
#order-standard_cart .panel,
#order-standard_cart .card { background: #1e2530 !important; border-color: rgba(255,255,255,0.08) !important; }
#order-standard_cart .panel-heading,
#order-standard_cart .card-header { background: rgba(255,255,255,0.04) !important; color: #f1f5f9 !important; }
#order-standard_cart .text-muted { color: #9ca3af !important; }

/* ── Checkout page — Total Due Today fix ── */
#order-standard_cart .total-due-today {
    background: rgba(99,102,241,0.15) !important;
    border: 1px solid rgba(99,102,241,0.3) !important;
    border-radius: 8px !important;
    padding: 14px 16px !important;
}
#order-standard_cart .total-due-today .amt,
#order-standard_cart .total-due-today span,
#order-standard_cart #totalDueToday {
    color: #f9fafb !important;
    font-weight: 700 !important;
}
#order-standard_cart .total-due-today-padded { padding: 14px 16px !important; }

/* ── Hide unused sidebar nav items ── */
[menuItemName="Announcements"],
[menuItemName="Knowledgebase"],
[menuItemName="Network Status"],
[menuItemName="Contact Us"],
[menuItemName="Support"],
[menuItemName="Open Ticket"] {
    display: none !important;
}

/* ── Invoice & table list visibility fix ── */
.table-list > tbody > tr > td,
.table-list > tbody > tr > td a,
.table-list > tbody > tr > td span,
.table-list > thead > tr > th,
.dataTables_wrapper .table-list tbody tr td,
.dataTables_wrapper .table-list tbody tr td a,
.dataTables_wrapper .table-list thead th { color: #f9fafb !important; }

.table-list > tbody > tr > td a:hover { color: #818cf8 !important; text-decoration: underline !important; }

/* Alternating rows */
.table-list > tbody > tr:nth-child(even) > td { background-color: rgba(255,255,255,0.03) !important; }
.table-list > tbody > tr:hover > td { background-color: rgba(99,102,241,0.1) !important; cursor: pointer; }

/* DataTables info bar */
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_length { color: #f9fafb !important; }
.dataTables_wrapper .dataTables_filter input { color: #f9fafb !important; background: #111827 !important; }

/* Pagination */
.dataTables_wrapper .dataTables_paginate .pagination > li > a,
.dataTables_wrapper .dataTables_paginate .pagination > li > span { color: #f9fafb !important; background: #1e2530 !important; border-color: rgba(255,255,255,0.1) !important; }
.dataTables_wrapper .dataTables_paginate .pagination > .active > a { background: #6366f1 !important; border-color: #6366f1 !important; }
