/* 深色底 + 轻量霓虹感 (尽量用 Bootstrap 工具类, 少写自定义) */
body {
    color: white;
    background:
            radial-gradient(1200px 800px at 15% 10%, rgba(255, 255, 255, .08), transparent 60%),
            radial-gradient(1000px 700px at 85% 20%, rgba(255, 138, 0, .10), transparent 55%),
            radial-gradient(900px 650px at 55% 90%, rgba(80, 200, 255, .08), transparent 55%),
            #0b0f14;
    min-height: 100vh;
}
.glass {
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .10);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: 18px;
}
.mono {
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum" 1;
}
.help-badge {
    border: 1px solid rgba(255, 255, 255, .14);
    background: rgba(255, 255, 255, .06);
}
.a-bage { text-decoration: none; }
.a-bage:hover { background: rgba(255, 255, 255, .15); }
.metric {
    font-size: 1.35rem;
    font-weight: 600;
    letter-spacing: .2px;
}
.muted{
    color: rgba(255, 255, 255, .65) !important;
}
.hint-danger { color: #dc3545 !important; }
.hint-ok { color: rgba(255,255,255,.75); }
.is-invalid + .invalid-feedback { display:block; }
.sticky-side {
    position: sticky;
    top: 1.25rem;
}

.model-badge {
    background: rgba(255, 138, 0, .15);
    color: #ffb454;
    border: 1px solid rgba(255, 138, 0, .35);
}

/* ===== 深色输入框以匹配深色页面背景 ===== */
.form-control,
.form-select,
.input-group-text {
    background-color: rgba(255, 255, 255, .06);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .14);
}
.form-control::placeholder {
    color: rgba(255, 255, 255, .45);
}
/* focus 状态 */
.form-control:focus,
.form-select:focus {
    background-color: rgba(255, 255, 255, .08);
    color: #fff;
    border-color: #ff8a00; /* Galet Games 主色 */
    box-shadow: 0 0 0 .15rem rgba(255, 138, 0, .25);
}
/* disabled / readonly */
.form-control:disabled,
.form-control[readonly] {
    background-color: rgba(255, 255, 255, .04);
    color: rgba(255, 255, 255, .55);
}
/* invalid */
.form-control.is-invalid { border-color: #dc3545; }


/* ===== 数值状态语义 ===== */
.value-negative { color: #dc3545 !important;  /* Bootstrap danger */ }
.value-positive { color: #ffffff; }
.value-zero { color: rgba(255,255,255,.6); }

.value-warning {
  color: #ffc107 !important;  /* Bootstrap warning 黄 */
}

.delta {
  margin-left: .4rem;
  font-size: .9rem;
  white-space: nowrap;
}
.delta-info {
  color: #4da3ff;  /* 冷静蓝 */
  opacity: .85;
}
