/* Manpower module — manufacturing press shop */
.skill-cell { text-align: center; font-size: 0.8125rem; font-weight: 600; padding: 0.35rem !important; }
.skill-l5 { color: #166534; background: #dcfce7; }
.skill-l4 { color: #15803d; background: #bbf7d0; }
.skill-l3 { color: #a16207; background: #fef9c3; }
.skill-l2 { color: #c2410c; background: #ffedd5; }
.skill-none { color: #94a3b8; }

.allocation-gap-negative { color: #dc2626; font-weight: 600; }
.allocation-gap-zero { color: #059669; }
.allocation-gap-excess { color: #2563eb; font-weight: 600; }

.mp-flow .flow-step { min-width: 100px; font-size: 0.75rem; }

.mp-attendance-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 0.75rem; margin-bottom: 1rem; }
.mp-att-card { background: #fff; border: 1px solid var(--corp-border, #e2e8f0); border-radius: 8px; padding: 1rem; text-align: center; }
.mp-att-card.present { border-top: 3px solid #059669; }
.mp-att-card.absent { border-top: 3px solid #dc2626; }
.mp-att-card .att-val { font-size: 1.75rem; font-weight: 700; color: var(--corp-primary, #0f2744); }

.mp-balance-row { display: flex; align-items: center; gap: 0.5rem; min-width: 100px; }
.mp-balance-bar { flex: 1; height: 10px; background: #e2e8f0; border-radius: 5px; overflow: hidden; display: flex; }
.mp-balance-bar .seg-req { background: #2563eb; }
.mp-balance-bar .seg-pres { background: #059669; }
.mp-balance-bar .seg-gap { background: #dc2626; }

.status-chip { display: inline-block; padding: 0.2rem 0.6rem; border-radius: 999px; font-size: 0.7rem; font-weight: 600; text-transform: uppercase; }
.status-chip.shortage { background: #fee2e2; color: #dc2626; }
.status-chip.excess { background: #dbeafe; color: #2563eb; }
.status-chip.balanced { background: #dcfce7; color: #059669; }

.ai-rec-card { border-left: 4px solid #2563eb; background: #f8fafc; border-radius: 8px; padding: 1rem; margin-bottom: 0.75rem; }
.ai-rec-card.p1 { border-left-color: #dc2626; background: #fef2f2; }
.ai-rec-card.p2 { border-left-color: #d97706; background: #fffbeb; }
.ai-rec-card.p3 { border-left-color: #2563eb; }
.ai-rec-card.p4 { border-left-color: #059669; background: #f0fdf4; }
.ai-rec-card .rec-title { font-weight: 600; color: var(--corp-primary, #0f2744); }
.ai-rec-card .rec-action { font-size: 0.8125rem; color: #64748b; margin-top: 0.35rem; }

.alloc-board { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1rem; }
.alloc-op-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 10px; overflow: hidden; }
.alloc-op-card .alloc-head { padding: 0.75rem 1rem; background: #f8fafc; border-bottom: 1px solid #e2e8f0; font-weight: 600; display: flex; justify-content: space-between; }
.alloc-op-card .alloc-body { padding: 0.75rem 1rem; }
.alloc-emp { display: flex; align-items: center; gap: 0.5rem; padding: 0.4rem 0; border-bottom: 1px solid #f1f5f9; font-size: 0.875rem; }
.alloc-emp:last-child { border-bottom: none; }
.alloc-emp .emp-badge { font-size: 0.65rem; background: #e0e7ff; color: #3730a3; padding: 0.1rem 0.4rem; border-radius: 4px; }

.weekly-mp-table .day-shortage { background: #fef2f2; }
.weekly-mp-table .day-normal { background: #fff; }

.product-op-table th { font-size: 0.75rem; white-space: nowrap; }
.product-op-table td { font-size: 0.8125rem; }

.mp-hub-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 1rem; }
@media (max-width: 992px) { .mp-hub-grid { grid-template-columns: 1fr; } }

.float-panel { background: #fffbeb; border: 1px dashed #d97706; border-radius: 8px; padding: 1rem; }
.float-panel h6 { color: #92400e; margin-bottom: 0.5rem; }

.compare-cols { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 0.5rem; text-align: center; font-size: 0.8125rem; }
.compare-cols .col-label { color: #94a3b8; font-size: 0.65rem; text-transform: uppercase; }
