/* ============================================
   Modfixor Signal-Red Theme (Override)
   纯黑结构 | 信号红行动色 | 白灰信息层级
   在 industrial.css 之后加载，覆盖其金色主题
   ============================================ */

/* ===== Design Tokens ===== */
:root {
    --bg-primary: #050505;
    --bg-secondary: #0a0a0a;
    --bg-card: #101010;
    --bg-card-hover: #151515;
    --bg-input: #0c0c0c;
    --bg-panel: #111111;

    --border-color: rgba(255,255,255,.14);
    --border-active: rgba(226,7,20,.7);
    --border-gold: rgba(226,7,20,.7);

    --text-primary: #f6f6f4;
    --text-secondary: #d7d7d4;
    --text-muted: #969696;
    --text-gold: #e20714;
    --text-gold-bright: #ff1825;
    --text-error: #ff5a5a;
    --text-success: #d7d7d4;
    --text-warning: #d7d7d4;

    --accent: #e20714;
    --accent-hover: #ff1825;
    --accent-glow: rgba(226,7,20,.15);
    --accent-glow-strong: rgba(226,7,20,.35);
    --accent-dark: #9d0610;
    --text-danger: #ff5a5a;
}

/* ===== Base ===== */
body {
    background-image:
        radial-gradient(circle at 88% 5%, rgba(226,7,20,.10), transparent 28%),
        linear-gradient(rgba(255,255,255,0.015) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.015) 1px, transparent 1px),
        linear-gradient(180deg, rgba(226,7,20,.04) 0%, transparent 40%);
    background-size: auto, 40px 40px, 40px 40px, 100% 100%;
}

/* ===== Navbar ===== */
.navbar {
    background: rgba(10,10,10,.92);
    border-bottom-color: rgba(226,7,20,.32);
}

.navbar::after {
    background: linear-gradient(90deg, rgba(226,7,20,.55), transparent 50%, rgba(226,7,20,.55));
    opacity: .4;
}

.nav-logo .logo-icon {
    border-color: rgba(226,7,20,.55);
    box-shadow: 0 0 10px rgba(226,7,20,.18);
}

.nav-logo .logo-icon::before {
    border-color: rgba(226,7,20,.4);
}

.nav-tab.active {
    background: rgba(226,7,20,.08);
    color: #ff1825;
}

.nav-tab.active::after {
    background: #e20714;
    box-shadow: 0 0 8px rgba(226,7,20,.6);
}

.nav-points {
    background: rgba(226,7,20,.08);
}

.nav-user-dropdown, .user-dropdown {
    background: #0a0a0a;
    border-color: rgba(255,255,255,.14);
}

/* ===== Buttons（信号红底上的文字改白色） ===== */
.btn-primary {
    background: #e20714;
    border-color: #e20714;
    color: #fff;
    box-shadow: 0 8px 24px rgba(226,7,20,.22);
}

.btn-primary:hover {
    background: #ff1825;
    border-color: #ff1825;
    box-shadow: 0 0 20px rgba(226,7,20,.35);
}

.btn-primary:disabled {
    background: rgba(226,7,20,.45);
    border-color: rgba(226,7,20,.45);
    color: rgba(255,255,255,.7);
}

.btn-outline:hover {
    border-color: #e20714;
    color: #ff1825;
}

.btn-danger {
    background: rgba(226,7,20,.12);
    border-color: #e20714;
    color: #ff5a5a;
}

.auth-btn.register {
    background: #e20714;
    border-color: #e20714;
    color: #fff;
}

.auth-btn.register:hover {
    background: #ff1825;
    border-color: #ff1825;
    box-shadow: 0 0 16px rgba(226,7,20,.4);
}

.download-btn {
    background: #e20714;
    border-color: #e20714;
    color: #fff;
}

.download-btn:hover {
    background: #ff1825;
    border-color: #ff1825;
    box-shadow: 0 0 20px rgba(226,7,20,.35);
}

/* ===== Icon Buttons ===== */
.icon-btn.selected {
    background: rgba(226,7,20,.1);
    box-shadow: 0 0 0 3px rgba(226,7,20,.18), 0 4px 16px rgba(226,7,20,.2);
}

.icon-btn.selected::after {
    background: #e20714;
    color: #fff;
}

/* ===== Feature Cards ===== */
.feature-card .card-icon {
    background: rgba(226,7,20,.08);
    box-shadow: 0 0 0 1px rgba(226,7,20,.25);
}

/* ===== Upload Zone ===== */
.upload-zone {
    background: linear-gradient(160deg, rgba(226,7,20,.03), transparent 55%);
}

.upload-zone:hover,
.upload-zone.drag-over {
    background: rgba(226,7,20,.06);
    box-shadow: 0 0 30px rgba(226,7,20,.12);
}

/* ===== Custom Select ===== */
.select-item:hover {
    background: rgba(226,7,20,.08);
}

.select-item.selected {
    color: #ff1825;
    background: rgba(226,7,20,.1);
}

/* ===== Data Table ===== */
.data-table thead th {
    background: #161616;
}

.data-table tbody tr:hover {
    background: rgba(226,7,20,.04);
}

/* ===== Badges ===== */
.badge-pending {
    background: rgba(226,7,20,.1);
    border: 1px solid rgba(226,7,20,.25);
}

.badge-recharge {
    background: rgba(226,7,20,.1);
}

/* ===== Toasts（黑色系 + 信号红描边） ===== */
.toast-success {
    background: #141414;
    border: 1px solid #d7d7d4;
    color: #d7d7d4;
}

.toast-error {
    background: #1a0a0c;
    border: 1px solid #ff5a5a;
    color: #ff5a5a;
}

.toast-info {
    background: #161010;
    border: 1px solid #e20714;
    color: #ff1825;
}

/* ===== Result Messages ===== */
.result-message.info {
    background: rgba(226,7,20,.1);
    border: 1px solid rgba(226,7,20,.3);
    color: #ff1825;
}

/* ===== Recharge Cards ===== */
.recharge-card.selected {
    background: rgba(226,7,20,.07);
    box-shadow: 0 0 0 1px rgba(226,7,20,.4), 0 8px 24px rgba(226,7,20,.12);
}

/* ===== Section Headers ===== */
.section-header h2::before {
    background: #e20714;
    box-shadow: 0 0 8px rgba(226,7,20,.6);
}

/* ===== Stats ===== */
.stat-card.accent .stat-value {
    color: #ff1825;
}

/* ===== Footer ===== */
.footer {
    border-top-color: rgba(226,7,20,.25);
}

/* ===== Scrollbar ===== */
::-webkit-scrollbar-thumb {
    background: #2a2a2a;
    border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
    background: #e20714;
}

/* ===== Modal ===== */
.modal {
    background: #0c0c0c;
    border: 1px solid rgba(255,255,255,.14);
}

.modal-header,
.modal-footer {
    border-color: rgba(255,255,255,.12);
}

.modal .close-btn:hover {
    color: #ff1825;
}

/* ===== Pagination ===== */
.page-btn:hover:not(:disabled) {
    border-color: #e20714;
    color: #ff1825;
}

.page-btn.active {
    background: #e20714;
    border-color: #e20714;
    color: #fff;
}

/* ===== Form Focus ===== */
input:focus, select:focus, textarea:focus {
    border-color: #e20714;
    box-shadow: 0 0 0 3px rgba(226,7,20,.13);
}
