Files
2026-07-08 11:46:20 +08:00

1575 lines
30 KiB
CSS

/* ============================================================
caiinfo.css - Expert Detail Page (caiinfo.html)
============================================================ */
.cxz-breadcrumb {
gap: 10px 14px;
}
.cxz-breadcrumb-back {
display: inline-flex;
align-items: center;
gap: 4px;
flex-shrink: 0;
color: #5f6f86;
}
.cxz-breadcrumb-back .layui-icon {
font-size: 14px;
}
.cxz-breadcrumb-trail {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 8px;
min-width: 0;
}
.cxz-table-box .cxz-data-table tbody tr:nth-child(even) {
background: #eef4fc;
}
.cxz-table-box .cxz-data-table tbody tr:hover {
background: #e4edf9;
}
/* ----------------------------------------------------------
1. Expert Card
---------------------------------------------------------- */
.cxz-expert-card {
background: var(--white, #fff);
border-radius: var(--radius-lg, 12px);
padding: 28px 24px;
margin-bottom: 20px;
box-shadow: var(--shadow-md, 0 4px 16px rgba(0, 0, 0, 0.08));
display: flex;
align-items: center;
gap: 24px;
position: relative;
overflow: hidden;
}
/* Decorative accent stripe at the top of the card */
.cxz-expert-card::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(90deg, var(--primary, #102b6a), var(--gold, #fdb933), var(--orange, #f15a22));
}
/* ----------------------------------------------------------
2. Expert Avatar
---------------------------------------------------------- */
.cxz-expert-avatar {
width: 88px;
height: 88px;
border-radius: 50%;
border: 3px solid var(--gold, #fdb933);
object-fit: cover;
flex-shrink: 0;
box-shadow: 0 4px 12px rgba(253, 185, 51, 0.25);
transition: transform 0.3s, box-shadow 0.3s;
}
.cxz-expert-avatar:hover {
transform: scale(1.05);
box-shadow: 0 6px 20px rgba(253, 185, 51, 0.35);
}
/* ----------------------------------------------------------
3. Expert Info
---------------------------------------------------------- */
.cxz-expert-info {
flex: 1;
min-width: 0;
}
.cxz-expert-name {
font-size: 22px;
font-weight: 700;
color: var(--primary, #102b6a);
margin-bottom: 4px;
line-height: 1.3;
}
.cxz-expert-desc {
font-size: 14px;
color: var(--text-muted, #6b7280);
margin-bottom: 12px;
line-height: 1.5;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
/* ----------------------------------------------------------
4. Expert Stats
---------------------------------------------------------- */
.cxz-expert-stats {
display: flex;
gap: 24px;
}
.cxz-stat-item {
text-align: center;
padding: 8px 12px;
border-radius: var(--radius-md, 8px);
background: var(--bg-light, #f4f6fb);
min-width: 72px;
transition: transform 0.2s, box-shadow 0.2s;
}
.cxz-stat-item:hover {
transform: translateY(-2px);
box-shadow: var(--shadow-sm, 0 2px 8px rgba(0, 0, 0, 0.06));
}
.cxz-stat-num {
font-size: 22px;
font-weight: 700;
color: var(--orange, #f15a22);
line-height: 1.2;
}
.cxz-stat-label {
font-size: 12px;
color: var(--text-muted, #6b7280);
margin-top: 2px;
}
/* ----------------------------------------------------------
5. Collect Expert Button
---------------------------------------------------------- */
.cxz-btn-collect {
padding: 10px 24px;
border-radius: 24px;
font-size: 14px;
cursor: pointer;
border: 2px solid var(--orange, #f15a22);
background: transparent;
color: var(--orange, #f15a22);
transition: all 0.3s;
font-weight: 600;
white-space: nowrap;
flex-shrink: 0;
display: inline-flex;
align-items: center;
gap: 4px;
}
.cxz-btn-collect:hover {
background: var(--orange, #f15a22);
color: var(--white, #fff);
box-shadow: 0 4px 14px rgba(241, 90, 34, 0.3);
transform: translateY(-1px);
}
.cxz-btn-collect.collected {
background: var(--orange, #f15a22);
color: var(--white, #fff);
border-color: var(--orange, #f15a22);
}
.cxz-btn-collect.collected:hover {
background: var(--red, #e74c3c);
border-color: var(--red, #e74c3c);
}
/* ----------------------------------------------------------
6. Action Buttons in Table
---------------------------------------------------------- */
/* Buy button */
.cxz-btn-buy {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 5px 18px;
border-radius: 16px;
font-size: 12px;
font-weight: 600;
cursor: pointer;
border: none;
background: linear-gradient(135deg, var(--orange, #f15a22), #e04e1a);
color: var(--white, #fff);
transition: all 0.3s;
white-space: nowrap;
line-height: 1.4;
}
.cxz-btn-buy:hover {
transform: translateY(-1px);
box-shadow: 0 4px 12px rgba(241, 90, 34, 0.4);
}
.cxz-btn-buy:active {
transform: translateY(0);
box-shadow: 0 2px 6px rgba(241, 90, 34, 0.3);
}
/* Article collect button */
.cxz-btn-article-collect {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 5px 14px;
border-radius: 16px;
font-size: 12px;
background: var(--bg-light, #f4f6fb);
color: var(--primary, #102b6a);
border: 1px solid var(--border-light, #e5e7eb);
cursor: pointer;
transition: all 0.3s;
white-space: nowrap;
line-height: 1.4;
}
.cxz-btn-article-collect:hover {
border-color: var(--gold, #fdb933);
color: var(--primary, #102b6a);
background: rgba(253, 185, 51, 0.08);
}
.cxz-btn-article-collect.collected {
background: var(--gold, #fdb933);
color: var(--primary, #102b6a);
border-color: var(--gold, #fdb933);
font-weight: 600;
}
.cxz-btn-article-collect.collected:hover {
background: var(--gold-dark, #f5a623);
border-color: var(--gold-dark, #f5a623);
}
/* Copy button */
.cxz-btn-copy {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 5px 14px;
border-radius: 16px;
font-size: 12px;
background: var(--primary, #102b6a);
color: var(--white, #fff);
border: none;
cursor: pointer;
transition: all 0.3s;
white-space: nowrap;
line-height: 1.4;
}
.cxz-btn-copy:hover {
background: var(--primary-light, #1a3f8f);
transform: translateY(-1px);
box-shadow: 0 4px 12px rgba(16, 43, 106, 0.3);
}
.cxz-btn-copy:active {
transform: translateY(0);
}
/* ----------------------------------------------------------
7. Dialog Overlay
---------------------------------------------------------- */
.cxz-dialog-overlay {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
z-index: 10000;
justify-content: center;
align-items: center;
padding: 20px;
animation: fadeIn 0.2s ease;
}
.cxz-dialog-overlay.active {
display: flex;
}
@keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@keyframes slideUp {
from {
opacity: 0;
transform: translateY(20px) scale(0.97);
}
to {
opacity: 1;
transform: translateY(0) scale(1);
}
}
/* ----------------------------------------------------------
8. Dialog Box
---------------------------------------------------------- */
.cxz-dialog-box {
background: var(--white, #fff);
border-radius: var(--radius-lg, 12px);
width: 440px;
max-width: 100%;
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
overflow: hidden;
animation: slideUp 0.25s ease;
}
/* ----------------------------------------------------------
9. Dialog Header
---------------------------------------------------------- */
.cxz-dialog-header {
background: linear-gradient(135deg, var(--primary, #102b6a), var(--primary-light, #1a3f8f));
padding: 18px 24px;
display: flex;
justify-content: space-between;
align-items: center;
}
.cxz-dialog-title {
color: var(--white, #fff);
font-size: 17px;
font-weight: 700;
letter-spacing: 0.5px;
}
.cxz-dialog-close {
color: rgba(255, 255, 255, 0.75);
font-size: 24px;
cursor: pointer;
background: none;
border: none;
width: 32px;
height: 32px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
transition: all 0.2s;
line-height: 1;
}
.cxz-dialog-close:hover {
color: var(--white, #fff);
background: rgba(255, 255, 255, 0.15);
}
/* ----------------------------------------------------------
10. Dialog Body
---------------------------------------------------------- */
.cxz-dialog-body {
padding: 24px;
}
/* ----------------------------------------------------------
11. Pay Options (Radio-style selections)
---------------------------------------------------------- */
.cxz-pay-option {
display: flex;
align-items: center;
gap: 14px;
padding: 16px 18px;
border: 2px solid var(--border-light, #e5e7eb);
border-radius: var(--radius-md, 8px);
margin-bottom: 12px;
cursor: pointer;
transition: all 0.25s;
background: var(--white, #fff);
position: relative;
}
.cxz-pay-option:last-child {
margin-bottom: 0;
}
.cxz-pay-option:hover {
border-color: var(--primary, #102b6a);
background: #f7f8fc;
}
.cxz-pay-option.selected {
border-color: var(--primary, #102b6a);
background: #f0f3fa;
box-shadow: 0 0 0 3px rgba(16, 43, 106, 0.12);
}
/* Custom radio indicator */
.cxz-pay-radio {
width: 20px;
height: 20px;
border-radius: 50%;
border: 2px solid var(--border-light, #e5e7eb);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
transition: all 0.25s;
}
.cxz-pay-option:hover .cxz-pay-radio {
border-color: var(--primary, #102b6a);
}
.cxz-pay-option.selected .cxz-pay-radio {
border-color: var(--primary, #102b6a);
background: var(--primary, #102b6a);
}
.cxz-pay-option.selected .cxz-pay-radio::after {
content: "";
width: 8px;
height: 8px;
border-radius: 50%;
background: var(--white, #fff);
}
/* Pay info area */
.cxz-pay-info {
flex: 1;
min-width: 0;
}
.cxz-pay-name {
font-size: 15px;
font-weight: 600;
color: var(--text-dark, #1a1a2e);
line-height: 1.3;
}
.cxz-pay-desc {
font-size: 12px;
color: var(--text-muted, #6b7280);
margin-top: 2px;
}
.cxz-pay-balance {
font-size: 15px;
color: var(--orange, #f15a22);
font-weight: 700;
white-space: nowrap;
flex-shrink: 0;
}
.cxz-pay-balance::before {
content: "\00A5";
font-size: 12px;
font-weight: 400;
margin-right: 2px;
}
/* ----------------------------------------------------------
12. Dialog Footer & Confirm Button
---------------------------------------------------------- */
.cxz-dialog-footer {
padding: 0 24px 24px;
}
.cxz-dialog-confirm {
width: 100%;
padding: 14px;
border-radius: var(--radius-md, 8px);
font-size: 16px;
font-weight: 700;
background: linear-gradient(135deg, var(--primary, #102b6a), var(--primary-light, #1a3f8f));
color: var(--white, #fff);
border: none;
cursor: pointer;
transition: all 0.3s;
letter-spacing: 1px;
}
.cxz-dialog-confirm:hover {
box-shadow: 0 6px 20px rgba(16, 43, 106, 0.35);
transform: translateY(-1px);
}
.cxz-dialog-confirm:active {
transform: translateY(0);
box-shadow: 0 3px 10px rgba(16, 43, 106, 0.25);
}
.cxz-dialog-confirm:disabled {
opacity: 0.55;
cursor: not-allowed;
transform: none;
box-shadow: none;
}
/* Unified purchase dialog */
.cxz-dialog-box {
width: 460px;
border-radius: 12px;
background: #fff;
}
.cxz-dialog-header {
padding: 22px 22px 18px;
background: #fff;
border-bottom: 1px solid #eef1f6;
}
.cxz-dialog-title {
color: #102b6a;
font-size: 18px;
font-weight: 800;
letter-spacing: 0;
}
.cxz-dialog-close {
color: #667085;
font-size: 28px;
}
.cxz-dialog-close:hover {
color: #102b6a;
background: #f3f6fb;
}
.cxz-dialog-body {
padding: 24px 22px 12px;
}
.cxz-pay-summary {
display: block;
margin-bottom: 20px;
padding: 0;
background: transparent;
color: #f15a22;
text-align: center;
}
.cxz-pay-summary span {
display: none;
}
.cxz-pay-summary strong {
color: #f15a22;
font-size: 28px;
font-weight: 800;
line-height: 1;
}
.cxz-pay-option {
margin-bottom: 10px;
padding: 14px 16px;
border: 1px solid #dde3ee;
border-radius: 8px;
box-shadow: none;
}
.cxz-pay-option:hover,
.cxz-pay-option.selected {
border-color: #dde3ee;
background: #fff;
box-shadow: none;
}
.cxz-pay-name {
color: #102b6a;
font-size: 14px;
}
.cxz-pay-desc {
display: none;
}
.cxz-pay-radio {
width: 14px;
height: 14px;
border-width: 1px;
}
.cxz-pay-option.selected .cxz-pay-radio::after {
width: 8px;
height: 8px;
}
.cxz-point-option {
display: flex;
align-items: center;
gap: 6px;
margin: -2px 0 14px;
color: #667085;
font-size: 13px;
}
.cxz-point-option input {
width: 14px;
height: 14px;
accent-color: #102b6a;
}
.cxz-point-option em {
margin-left: 2px;
color: #667085;
font-style: normal;
}
.cxz-dialog-footer {
padding: 0 22px 22px;
}
.cxz-dialog-confirm {
border-radius: 8px;
background: #f15a22;
box-shadow: none;
}
.cxz-dialog-confirm:hover {
background: #e94f18;
box-shadow: none;
transform: none;
}
/* ----------------------------------------------------------
13. Table Overrides for Expert Detail Page
---------------------------------------------------------- */
/* Ensure action column buttons have spacing */
.cxz-data-table td .cxz-btn-buy,
.cxz-data-table td .cxz-btn-article-collect,
.cxz-data-table td .cxz-btn-copy {
margin: 2px 3px;
vertical-align: middle;
}
/* Predict-code column balls inline layout */
.cxz-data-table td .red-q,
.cxz-data-table td .bule-q {
margin: 1px 1px;
}
/* Status badges in table */
.cxz-data-table td span[style*="color:#27ae60"],
.cxz-data-table td span[style*="color:var(--orange)"] {
font-weight: 600;
font-size: 13px;
}
/* ----------------------------------------------------------
14. Responsive - Tablet (max-width: 1024px)
---------------------------------------------------------- */
@media (max-width: 1024px) {
.cxz-expert-card {
padding: 24px 20px;
gap: 20px;
}
.cxz-expert-avatar {
width: 76px;
height: 76px;
}
.cxz-expert-name {
font-size: 20px;
}
.cxz-expert-stats {
gap: 16px;
}
.cxz-stat-item {
min-width: 64px;
padding: 6px 10px;
}
.cxz-stat-num {
font-size: 20px;
}
.cxz-dialog-box {
width: 400px;
}
}
/* ----------------------------------------------------------
15. Responsive - Mobile (max-width: 768px)
---------------------------------------------------------- */
@media (max-width: 768px) {
/* Expert card stacks vertically */
.cxz-expert-card {
flex-direction: column;
align-items: center;
text-align: center;
padding: 24px 16px 20px;
gap: 16px;
}
.cxz-expert-avatar {
width: 72px;
height: 72px;
}
.cxz-expert-info {
width: 100%;
}
.cxz-expert-name {
font-size: 18px;
}
.cxz-expert-desc {
font-size: 13px;
-webkit-line-clamp: 3;
}
/* Stats become a 3-column grid */
.cxz-expert-stats {
display: flex;
flex-wrap: wrap;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 10px;
width: 100%;
justify-items: center;
}
.cxz-stat-item {
min-width: 0;
width: 100%;
padding: 8px 6px;
}
.cxz-stat-num {
font-size: 18px;
}
.cxz-stat-label {
font-size: 11px;
}
/* Collect button full width */
.cxz-btn-collect {
width: 100%;
justify-content: center;
padding: 10px 20px;
}
/* Dialog adjustments */
.cxz-dialog-box {
width: 100%;
border-radius: var(--radius-md, 8px);
}
.cxz-dialog-header {
padding: 14px 18px;
}
.cxz-dialog-title {
font-size: 15px;
}
.cxz-dialog-body {
padding: 18px;
}
.cxz-pay-option {
padding: 14px 14px;
gap: 10px;
}
.cxz-pay-name {
font-size: 14px;
}
.cxz-pay-balance {
font-size: 14px;
}
.cxz-dialog-footer {
padding: 0 18px 18px;
}
.cxz-dialog-confirm {
padding: 12px;
font-size: 15px;
}
/* Table action buttons smaller on mobile */
.cxz-btn-buy {
padding: 4px 12px;
font-size: 11px;
}
.cxz-btn-copy {
padding: 4px 10px;
font-size: 11px;
}
.cxz-btn-article-collect {
padding: 4px 10px;
font-size: 11px;
}
}
/* ----------------------------------------------------------
16. Responsive - Small Mobile (max-width: 480px)
---------------------------------------------------------- */
@media (max-width: 480px) {
.cxz-expert-card {
padding: 20px 12px 16px;
}
.cxz-expert-avatar {
width: 64px;
height: 64px;
border-width: 2px;
}
.cxz-expert-name {
font-size: 17px;
}
.cxz-expert-desc {
font-size: 12px;
}
.cxz-expert-stats {
gap: 6px;
}
.cxz-stat-item {
padding: 6px 4px;
}
.cxz-stat-num {
font-size: 16px;
}
.cxz-stat-label {
font-size: 10px;
}
.cxz-dialog-body {
padding: 14px;
}
.cxz-pay-option {
padding: 12px;
gap: 8px;
}
.cxz-pay-radio {
width: 18px;
height: 18px;
}
.cxz-pay-name {
font-size: 13px;
}
.cxz-pay-desc {
font-size: 11px;
}
.cxz-pay-balance {
font-size: 13px;
}
.cxz-dialog-footer {
padding: 0 14px 14px;
}
.cxz-dialog-confirm {
padding: 11px;
font-size: 14px;
}
/* Stack table action buttons */
.cxz-data-table td .cxz-btn-buy,
.cxz-data-table td .cxz-btn-article-collect,
.cxz-data-table td .cxz-btn-copy {
margin: 2px 1px;
}
}
.cxz-data-table td .cxz-ball-missed {
background: #f2f3f5;
border-color: #dcdfe6;
color: #999;
text-decoration: none;
}
.cxz-data-table td .fushi234item {
display: inline-block;
max-width: 100%;
overflow: hidden;
white-space: nowrap;
gap: 0;
color: #de2103;
font-weight: 700;
line-height: 1.8;
vertical-align: middle;
}
.cxz-data-table td .cxz-recommend-wrap {
display: inline-grid;
grid-template-columns: minmax(0, 1fr) auto;
align-items: center;
gap: 6px;
max-width: 100%;
vertical-align: middle;
}
.cxz-data-table td .cxz-recommend-content {
display: block;
min-width: 0;
}
.cxz-data-table td .recommend-clickable {
cursor: pointer;
}
.cxz-data-table td .recommend-clickable .fushi234item {
display: inline-flex;
align-items: center;
max-width: 100%;
min-width: 0;
}
.cxz-data-table td .recommend-preview-text {
display: inline-block;
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.cxz-data-table td .recommend-view-all {
display: inline-flex;
flex: 0 0 auto;
align-items: center;
margin-left: 6px;
color: #409eff;
font-size: 12px;
white-space: nowrap;
}
.cxz-data-table td .recommend-clickable:hover .recommend-view-all {
color: #de2103;
}
.cxz-data-table td .recommend-number-text,
.cxz-data-table td .recommend-separator,
.cxz-number-popup .recommend-number-text,
.cxz-number-popup .recommend-separator {
color: #de2103;
font-size: 14px;
font-weight: 700;
}
.cxz-data-table td .recommend-number-hit,
.cxz-number-popup .recommend-number-hit,
.recommend-number-dialog .recommend-number-hit,
.recommend-number-content .recommend-number-hit {
color: #de2103;
font-weight: 700;
}
.cxz-data-table td .recommend-number-blue,
.cxz-number-popup .recommend-number-blue,
.recommend-number-dialog .recommend-number-blue,
.recommend-number-content .recommend-number-blue {
color: #1c89f8;
font-weight: 700;
}
.cxz-data-table td .recommend-number-missed,
.cxz-number-popup .recommend-number-missed,
.recommend-number-dialog .recommend-number-missed,
.recommend-number-content .recommend-number-missed {
color: #999;
font-weight: 700;
}
.cxz-data-table td .cxz-number-wrap--recommend {
display: inline-flex;
align-items: center;
max-width: 100%;
min-width: 0;
padding: 0;
border: 0;
background: transparent;
color: #de2103;
cursor: default;
font: inherit;
font-weight: 700;
line-height: 1.8;
vertical-align: middle;
}
.cxz-data-table td .cxz-number-wrap--recommend .cxz-number-preview {
min-width: 0;
max-width: 100%;
}
.cxz-data-table td .cxz-number-wrap--recommend .cxz-number-preview--full,
.cxz-data-table td .cxz-number-wrap--recommend.cxz-number-wrap--fit .cxz-number-preview--full {
display: inline-flex;
align-items: center;
overflow: hidden;
white-space: nowrap;
}
.cxz-data-table td .cxz-number-wrap--recommend .cxz-number-preview--short,
.cxz-data-table td .cxz-number-wrap--recommend .cxz-number-more {
display: none;
}
.cxz-data-table td .cxz-number-wrap--recommend.cxz-number-wrap--overflow {
cursor: pointer;
}
.cxz-data-table td .cxz-number-wrap--recommend.cxz-number-wrap--overflow .cxz-number-preview--full {
display: none;
}
.cxz-data-table td .cxz-number-wrap--recommend.cxz-number-wrap--overflow .cxz-number-preview--short {
display: inline-flex;
align-items: center;
overflow: hidden;
white-space: nowrap;
}
.cxz-data-table td .cxz-number-wrap--recommend.cxz-number-wrap--overflow .cxz-number-more {
display: inline-flex;
flex: 0 0 auto;
margin-left: 6px;
color: #409eff;
font-size: 12px;
white-space: nowrap;
}
.cxz-data-table td .cxz-number-wrap--recommend:hover .cxz-number-more {
color: #de2103;
}
.cxz-number-wrap--recommend-full {
display: block;
color: #de2103;
font-size: 15px;
font-weight: 700;
line-height: 1.9;
white-space: normal;
word-break: break-all;
}
.cxz-number-wrap--recommend-full .cxz-number-group {
display: inline;
}
.cxz-number-popup {
padding: 18px 22px;
}
.cxz-number-popup-title {
margin-bottom: 12px;
color: #102b6a;
font-size: 16px;
font-weight: 800;
}
.cxz-number-popup .cxz-number-wrap--popup {
padding: 14px 16px;
border: 1px solid #ffd8d2;
border-radius: 6px;
background: #fff7f5;
max-height: 180px;
overflow-y: auto;
}
.recommend-number-layer {
border-radius: 6px;
overflow: hidden;
}
.recommend-number-layer .layui-layer-title {
border-bottom: 1px solid #f0f0f0;
font-size: 16px;
font-weight: 700;
height: 48px;
line-height: 48px;
}
.recommend-number-layer .layui-layer-content {
padding: 0;
}
.recommend-number-dialog {
padding: 18px 22px 8px;
}
.recommend-number-content {
background: #fff7f5;
border: 1px solid #ffd8d2;
border-radius: 6px;
color: #de2103;
line-height: 1.9;
max-height: 180px;
overflow-y: auto;
padding: 14px 16px;
text-align: left;
word-break: break-all;
}
.recommend-number-content .fushi234item {
display: block;
overflow: visible;
white-space: normal;
word-break: break-all;
}
.recommend-number-actions {
display: flex;
justify-content: flex-start;
padding-top: 14px;
}
.recommend-dialog-copy {
height: 30px;
padding: 0 14px;
border: none;
border-radius: 15px;
background: #102b6a;
color: #fff;
cursor: pointer;
font-size: 12px;
font-weight: 700;
}
.cxz-data-table td .cxz-status-hit {
color: #de2103;
font-weight: 700;
}
.cxz-data-table td .cxz-status-miss {
color: #999;
font-weight: 700;
}
.cxz-data-table td .cxz-status-pending,
.cxz-data-table td .cxz-status-opened {
color: #102b6a;
font-weight: 700;
}
.cxz-data-table td .caiinfo-status-win {
color: #de2103;
font-weight: 700;
}
.cxz-data-table td .caiinfo-status-lose,
.cxz-data-table td .caiinfo-status-pending {
color: #8c8c8c;
font-weight: 700;
}
.cxz-data-table td .caiinfo-status-lose .caiinfo-status-label,
.cxz-data-table td .caiinfo-status-lose .caiinfo-status-front,
.cxz-data-table td .caiinfo-status-lose .caiinfo-status-back,
.cxz-data-table td .caiinfo-status-lose .caiinfo-status-separator {
color: #8c8c8c;
}
.cxz-data-table td .caiinfo-status-front {
color: #de2103;
font-weight: 800;
}
.cxz-data-table td .caiinfo-status-back {
color: #de2103;
font-weight: 800;
}
.cxz-data-table td .caiinfo-status-label,
.cxz-data-table td .caiinfo-status-separator {
color: inherit;
font-weight: 700;
}
.cxz-data-table td span[style*="#8c8c8c"] .caiinfo-status-label,
.cxz-data-table td span[style*="#8c8c8c"] .caiinfo-status-front,
.cxz-data-table td span[style*="#8c8c8c"] .caiinfo-status-back,
.cxz-data-table td span[style*="#8c8c8c"] .caiinfo-status-separator {
color: #8c8c8c;
}
.cxz-data-table td .cxz-pending-publish-text {
color: #de2103;
font-weight: 700;
}
.cxz-data-table td .cxz-number-ball--wrong,
.cxz-number-wrap--popup .cxz-number-ball--wrong {
position: relative;
box-sizing: border-box;
background: #d1d5db;
border: 2px solid #d1d5db;
color: #6b7280;
font-weight: 900;
text-decoration: none;
box-shadow: 0 0 0 2px rgba(209, 213, 219, 0.28);
overflow: hidden;
}
.cxz-data-table td .cxz-number-ball--hit {
background: #fff7f5;
border-color: #ffd8d2;
color: #de2103;
}
.cxz-data-table td .bule-q.cxz-number-ball--hit,
.cxz-number-wrap--popup .bule-q.cxz-number-ball--hit {
background: linear-gradient(135deg, #102b6a, #3b6fd4);
border-color: rgba(28, 137, 248, 0.25);
color: #1c89f8;
}
.cxz-data-table td .cxz-number-ball--wrong::after,
.cxz-number-wrap--popup .cxz-number-ball--wrong::after {
content: none;
}
.cxz-number-wrap--popup .bule-q.cxz-number-ball:not(.cxz-number-ball--wrong) {
border-color: rgba(16, 43, 106, 0.22);
background: linear-gradient(135deg, #102b6a, #3b6fd4);
color: white;
}
.cxz-number-wrap--recommend .cxz-number-group+.cxz-number-group::before,
.cxz-number-wrap--popup .cxz-number-group+.cxz-number-group::before {
content: "+";
width: auto;
height: auto;
margin: 0 4px;
border-radius: 0;
background: transparent;
color: #8a94a6;
font-size: 13px;
font-weight: 700;
line-height: 1;
}
.cxz-data-table td .cxz-purchased-badge {
color: #27ae60;
font-weight: 600;
margin-right: 8px;
}
.cxz-data-table td .cxz-prebuy-badge {
color: #c57900;
font-weight: 700;
margin-right: 8px;
}
.cxz-data-table td .cxz-btn-prebuy {
height: 26px;
padding: 0 13px;
border: 1px solid rgba(201, 132, 0, 0.28);
border-radius: 14px;
background: #fff7e6;
color: #c57900;
cursor: pointer;
font-size: 12px;
font-weight: 700;
line-height: 24px;
margin-right: 8px;
}
.cxz-data-table td .cxz-btn-prebuy:hover {
border-color: rgba(201, 132, 0, 0.5);
background: #fff0cc;
}
/* redesigned payment dialog */
.cxz-dialog-overlay {
background: rgba(10, 18, 34, 0.58);
backdrop-filter: blur(2px);
}
.cxz-dialog-box {
width: 500px;
max-width: calc(100vw - 32px);
border-radius: 16px;
background: #fff;
box-shadow: 0 24px 70px rgba(10, 18, 34, 0.32);
}
.cxz-dialog-header {
padding: 20px 22px 14px;
border-bottom: 0;
background: #fff;
}
.cxz-dialog-title {
color: #102b6a;
font-size: 19px;
font-weight: 800;
}
.cxz-dialog-close {
color: #7a8496;
font-size: 26px;
}
.cxz-dialog-close:hover {
color: #102b6a;
background: #f1f4fa;
}
.cxz-dialog-body {
padding: 0 22px 16px;
}
.cxz-pay-hero {
padding: 20px;
border-radius: 14px;
background: linear-gradient(135deg, #102b6a 0%, #1e5790 100%);
color: #fff;
}
.cxz-pay-hero-label {
color: rgba(255, 255, 255, 0.76);
font-size: 13px;
}
.cxz-pay-hero-price {
margin-top: 8px;
color: #ffb12b;
font-size: 34px;
font-weight: 900;
line-height: 1;
}
.cxz-pay-hero-sub {
display: flex;
flex-wrap: wrap;
gap: 8px 14px;
margin-top: 12px;
color: rgba(255, 255, 255, 0.78);
font-size: 12px;
}
.cxz-pay-deduct {
color: #ffd48a;
}
.cxz-pay-section-title {
margin: 18px 0 10px;
color: #102b6a;
font-size: 14px;
font-weight: 800;
}
.cxz-pay-wallets {
display: flex;
flex-wrap: wrap;
display: grid;
gap: 10px;
}
.cxz-pay-option {
display: flex;
flex-wrap: wrap;
display: grid;
grid-template-columns: 18px 1fr auto;
gap: 12px;
align-items: center;
width: 100%;
margin: 0;
padding: 14px 16px;
border: 1px solid #e1e7f0;
border-radius: 12px;
background: #f8fafd;
box-shadow: none;
text-align: left;
}
.cxz-pay-option:hover,
.cxz-pay-option.selected {
border-color: #102b6a;
background: #fff;
box-shadow: 0 8px 22px rgba(16, 43, 106, 0.1);
}
.cxz-pay-radio {
width: 16px;
height: 16px;
border: 1px solid #b8c2d2;
}
.cxz-pay-option.selected .cxz-pay-radio {
border-color: #f15a22;
background: #f15a22;
}
.cxz-pay-option.selected .cxz-pay-radio::after {
width: 6px;
height: 6px;
}
.cxz-pay-info {
display: flex;
flex-direction: column;
gap: 2px;
}
.cxz-pay-name {
color: #102b6a;
font-size: 14px;
font-weight: 800;
}
.cxz-pay-desc {
display: block;
color: #8b95a8;
font-size: 12px;
}
.cxz-pay-balance {
color: #f15a22;
font-size: 15px;
font-weight: 800;
}
.cxz-pay-balance::before {
content: none;
}
.cxz-point-card {
display: flex;
align-items: center;
justify-content: space-between;
gap: 14px;
margin-top: 12px;
padding: 14px 16px;
border: 1px dashed #f3b36d;
border-radius: 12px;
background: #fff8ed;
cursor: pointer;
}
.cxz-point-card.selected {
border-style: solid;
border-color: rgba(241, 90, 34, 0.55);
background: #fff2dc;
box-shadow: 0 8px 22px rgba(241, 90, 34, 0.1);
}
.cxz-point-main {
display: flex;
align-items: center;
gap: 10px;
min-width: 0;
}
.cxz-point-card input {
width: 16px;
height: 16px;
accent-color: #f15a22;
}
.cxz-point-title {
display: block;
color: #102b6a;
font-size: 14px;
font-weight: 800;
}
.cxz-point-desc {
display: block;
margin-top: 2px;
color: #8b5b24;
font-size: 12px;
}
.cxz-point-value {
color: #f15a22;
font-size: 14px;
font-weight: 800;
white-space: nowrap;
}
.cxz-pay-total-card {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
margin-top: 14px;
padding: 14px 16px;
border-radius: 12px;
background: #f2f5fb;
}
.cxz-pay-total-card span {
display: block;
color: #102b6a;
font-size: 14px;
font-weight: 800;
}
.cxz-pay-total-card em {
display: block;
margin-top: 2px;
color: #7a8496;
font-size: 12px;
font-style: normal;
}
.cxz-pay-total-card em.is-insufficient {
color: #e83b24;
}
.cxz-pay-total-card strong {
color: #f15a22;
font-size: 18px;
font-weight: 900;
white-space: nowrap;
}
.cxz-dialog-footer {
padding: 0 22px 22px;
}
.cxz-dialog-confirm {
height: 46px;
padding: 0 16px;
border-radius: 12px;
background: linear-gradient(135deg, #f15a22, #ff8a20);
box-shadow: 0 10px 22px rgba(241, 90, 34, 0.24);
}
.cxz-dialog-confirm:hover {
background: linear-gradient(135deg, #e94f18, #ff7b17);
box-shadow: 0 10px 22px rgba(241, 90, 34, 0.3);
}
.cxz-dialog-confirm:disabled {
background: #c9d1de;
box-shadow: none;
}