/* ========== 采购单 · 现代紫色主题 ========== */
.purchase-page { animation: fadeIn 0.45s ease; }
.purchase-selector {
    display: flex; gap: var(--spacing-lg); margin-bottom: var(--spacing-lg);
    flex-wrap: wrap; align-items: flex-end;
}
.purchase-selector .form-group { min-width: 200px; margin-bottom: 0; }

.purchase-overview {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--spacing-md);
    margin-bottom: var(--spacing-lg);
}
.purchase-overview-card {
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(16px) saturate(150%);
    border-radius: var(--radius-lg); padding: var(--spacing-lg); text-align: center;
    box-shadow: var(--shadow-card); transition: all var(--transition-normal);
    border: 1.5px solid rgba(226, 232, 240, 0.7); position: relative; overflow: hidden;
}
.purchase-overview-card::before {
    content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 4px;
}
.purchase-overview-card:hover { 
    transform: translateY(-5px); 
    box-shadow: var(--shadow-card-hover); 
    border-color: rgba(99, 102, 241, 0.2); 
}
.purchase-overview-card.total::before { background: linear-gradient(90deg, #06B6D4, #0891B2); }
.purchase-overview-card.paid::before { background: linear-gradient(90deg, #10B981, #059669); }
.purchase-overview-card.payable::before { background: linear-gradient(90deg, #F59E0B, #D97706); }
.overview-label { font-size: 12px; color: var(--color-text-light); margin-bottom: 8px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.4px; }
.overview-value { font-size: 23px; font-weight: 700; line-height: 1.2; }
.purchase-overview-card.total .overview-value { color: #0891B2; }
.purchase-overview-card.paid .overview-value { color: #059669; }
.purchase-overview-card.payable .overview-value { color: #D97706; }

.purchase-form {
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(16px) saturate(150%);
    border-radius: var(--radius-lg); padding: var(--spacing-lg);
    margin-bottom: var(--spacing-lg); box-shadow: var(--shadow-card);
    border: 1.5px solid rgba(226, 232, 240, 0.7);
}
.purchase-form h3 { margin-bottom: var(--spacing-md); font-size: 15px; font-weight: 600; color: var(--color-text); letter-spacing: -0.2px; }
.purchase-form .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--spacing-md); }

.profit-calculator {
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.04), rgba(147, 51, 234, 0.03));
    border-radius: var(--radius-lg); padding: var(--spacing-lg);
    margin-top: var(--spacing-lg); border: 1.5px solid rgba(99, 102, 241, 0.10);
}
.profit-calculator h4 { margin-bottom: var(--spacing-md); color: var(--color-text); font-size: 14px; font-weight: 600; }
.profit-calc-row { margin-bottom: 0; }
.profit-calc-row .form-group { margin-bottom: 0; }
.profit-calc-hint { margin-top: 4px; }
.profit-result {
    display: grid; grid-template-columns: 1fr 1fr; gap: var(--spacing-md);
    margin-top: var(--spacing-md);
}
.profit-item {
    text-align: center; padding: var(--spacing-lg);
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(8px);
    border-radius: var(--radius-md); border: 1.5px solid rgba(226, 232, 240, 0.7);
    box-shadow: var(--shadow-sm);
}
.profit-label { font-size: 12px; color: var(--color-text-light); margin-bottom: 8px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.3px; }
.profit-value { font-size: 24px; font-weight: 700; }
.profit-value.positive { color: #059669; }
.profit-value.negative { color: #EC4899; }

.purchase-history { margin-top: var(--spacing-lg); }
.purchase-history h3 { 
    margin-bottom: var(--spacing-md); font-size: 15px; font-weight: 600; 
    color: var(--color-text); position: relative; padding-left: 12px;
}
.purchase-history h3::before {
    content: ''; position: absolute; left: 0; top: 4px; width: 3px; height: calc(100% - 8px);
    border-radius: 3px; background: linear-gradient(180deg, #06B6D4, #0891B2);
}
.purchase-record-item {
    display: flex; justify-content: space-between; align-items: center;
    padding: 13px 18px; border-bottom: 1px solid rgba(226, 232, 240, 0.5);
    transition: all var(--transition-fast); border-radius: var(--radius-sm);
}
.purchase-record-item:hover { background: rgba(99, 102, 241, 0.03); }


