/* ============================================================
   ui-polish.css — 全站视觉精修层（2026-10-25）
   只做增强不改结构：卡片质感、按钮手感、表格可读性、
   焦点反馈、滚动条、空状态。所有页面经 base.html 自动加载。
   ============================================================ */

/* ---------- 卡片：轻描边 + 柔和投影 + 悬浮微升 ---------- */
.card, .card-v2, [class*="order-card"] {
    border: 1px solid rgba(0, 0, 0, .06) !important;
    border-radius: 14px !important;
    box-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 4px 12px rgba(16, 24, 40, .04) !important;
    transition: box-shadow .18s ease, transform .18s ease;
}
.card:hover, .card-v2:hover {
    box-shadow: 0 2px 4px rgba(16, 24, 40, .06), 0 10px 24px rgba(16, 24, 40, .08) !important;
}
/* 表格类卡片不悬浮（避免滚动时跳动） */
.table-responsive .card:hover, .card.p-0:hover, .card-body.p-0:first-child:last-child:hover {
    transform: none;
}

/* ---------- 页头标题：统一节奏 ---------- */
.page-title-custom, h4.mb-0, h5.fw-bold {
    letter-spacing: .2px;
}
.page-title-custom > div:first-child i {
    color: var(--primary-mid, #2E7D32);
}

/* ---------- 按钮手感 ---------- */
.btn, .btn-v2-success, .btn-v2-secondary, [class*="btn-action"] {
    transition: transform .12s ease, box-shadow .12s ease, background-color .15s ease;
}
.btn:active:not(:disabled), .btn-v2-success:active, [class*="btn-action"]:active {
    transform: scale(.97);
}
/* 主按钮统一绿渐变 + 可用反馈 */
.btn-success, .btn-v2-success, .btn-primary:not(.btn-outline-primary) {
    background-image: linear-gradient(135deg, #16a34a, #15803d);
    border: none;
    box-shadow: 0 2px 6px rgba(22, 163, 74, .25);
}
.btn-success:hover:not(:disabled), .btn-v2-success:hover, .btn-primary:not(.btn-outline-primary):hover {
    background-image: linear-gradient(135deg, #15803d, #166534);
    box-shadow: 0 4px 12px rgba(22, 163, 74, .35);
}
.btn-success:disabled, .btn-v2-success:disabled {
    background-image: none;
    background-color: #9ca3af;
    box-shadow: none;
}
/* 危险操作永远红且醒目 */
.btn-danger, .btn-outline-danger:hover {
    box-shadow: 0 2px 6px rgba(220, 38, 38, .25);
}

/* ---------- 输入控件：统一圆角 + 聚焦光圈 ---------- */
.form-control, .form-select, .form-control-v2 {
    border-radius: 10px !important;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.form-control:focus, .form-select:focus, .form-control-v2:focus {
    border-color: #4CAF50 !important;
    box-shadow: 0 0 0 3px rgba(76, 175, 80, .15) !important;
}

/* ---------- 表格：行距呼吸感 + 悬浮高亮 + 数额右对齐基线 ---------- */
.table > thead th {
    font-size: .78rem;
    text-transform: none;
    letter-spacing: .3px;
    color: #4B5563;
    background: #F8FAFC !important;
    border-bottom: 1px solid #E5E7EB !important;
    white-space: nowrap;
}
.table > tbody td {
    padding-top: .55rem;
    padding-bottom: .55rem;
}
.table-hover > tbody tr:hover {
    background: rgba(46, 125, 50, .04);
}
/* 金额/数字列（按 class=text-end/right 以及含 ¥ 的单元格由页面自行加） */
td.text-end, td.text-right, th.text-end, th.text-right {
    font-variant-numeric: tabular-nums;
}

/* ---------- 徽章：小而清晰 ---------- */
.badge { font-weight: 600; letter-spacing: .3px; }
.badge-v2 { border-radius: 8px; }

/* ---------- 滚动条：细 + 主题色 ---------- */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #CBD5E1; border-radius: 8px; }
::-webkit-scrollbar-thumb:hover { background: #94A3B8; }

/* ---------- 空状态：友好提示 ---------- */
.empty-state .empty-icon { font-size: 2.4rem; opacity: .85; }
.empty-state p { color: #6B7280; }

/* ---------- 分页：触达面积 ---------- */
.pagination .page-link {
    border-radius: 8px !important;
    margin: 0 2px;
    min-width: 34px;
    text-align: center;
    transition: background-color .15s ease;
}
.pagination .page-item.active .page-link {
    background: linear-gradient(135deg, #16a34a, #15803d);
    border-color: transparent;
}

/* ---------- toast/提示：圆角统一 ---------- */
.toast, .alert { border-radius: 12px !important; }

/* ---------- 打印页不套用交互增强 ---------- */
@media print {
    .card, .card-v2 { box-shadow: none !important; border: 1px solid #ddd !important; }
    .btn, .nav, .pagination, .page-header-btns { display: none !important; }
}
