/* === Bonus Calculator (賞与計算機). Adds to payroll-calculator.css + hsp-points-calculator.css === */

/* Headline net-bonus value: medium-large, fits "¥X,XXX,XXX" */
.pc-result-block-primary .hsp-points-value {
    font-size: 36px !important;
    letter-spacing: -0.02em !important;
}
.pc-result-block-primary .hsp-points-value .lc-days-suffix {
    font-size: 14px;
    margin-left: 4px;
    color: var(--text-muted);
    font-weight: 700;
}
@media (max-width: 480px) {
    .pc-result-block-primary .hsp-points-value { font-size: 28px !important; }
}

/* Summary: gross / std / total deductions / net */
.bc-summary {
    margin-top: 14px;
    padding: 12px 14px;
    background: #f5f8ff;
    border: 1px solid rgba(0, 113, 235, .14);
    border-radius: 12px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px 16px;
}
.bc-summary-item {}
.bc-summary-label {
    margin: 0 0 2px;
    font-size: var(--extra-small);
    font-weight: 700;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}
.bc-summary-value {
    margin: 0;
    font-size: var(--default);
    font-weight: 800;
    color: var(--text-main);
    font-variant-numeric: tabular-nums;
}
.bc-summary-takehome {
    grid-column: 1 / -1;
    border-top: 1px solid rgba(0,113,235,.18);
    padding-top: 8px;
    margin-top: 4px;
}
.bc-summary-takehome .bc-summary-value {
    font-size: 22px;
    color: var(--blue);
}
@media (max-width: 480px) {
    .bc-summary { grid-template-columns: 1fr; }
}

/* Cap warning notes */
.bc-cap-note {
    margin-top: 10px;
    padding: 10px 14px;
    border-radius: 10px;
    font-size: var(--extra-small);
    line-height: 1.55;
    background: #fff7ec;
    border: 1px solid #fcd9a8;
    color: #8a4f00;
}
.bc-cap-note + .bc-cap-note { margin-top: 6px; }

/* Breakdown table. 4 cols: item / rate / subject / amount.
   The 3 numeric cols need horizontal padding so they don't bump into each other. */
.pc-details:has(#bc-out-breakdown) .pc-table th,
.pc-details:has(#bc-out-breakdown) .pc-table td {
    font-size: 12px;
    padding: 6px 4px;
}
.pc-details:has(#bc-out-breakdown) .pc-table th:nth-child(2),
.pc-details:has(#bc-out-breakdown) .pc-table td:nth-child(2),
.pc-details:has(#bc-out-breakdown) .pc-table th:nth-child(3),
.pc-details:has(#bc-out-breakdown) .pc-table td:nth-child(3) {
    padding-left: 8px;
    padding-right: 8px;
}
.pc-details:has(#bc-out-breakdown) .pc-table th:last-child,
.pc-details:has(#bc-out-breakdown) .pc-table td:last-child {
    padding-left: 8px;
    font-weight: 700;
}
/* Item column: keep first-row priority but allow shrinking on narrow screens */
.pc-details:has(#bc-out-breakdown) .pc-table th:first-child,
.pc-details:has(#bc-out-breakdown) .pc-table td:first-child {
    font-size: 13px;
    padding-right: 6px;
}

#bc-out-breakdown tr[data-state="inactive"] th,
#bc-out-breakdown tr[data-state="inactive"] td {
    color: var(--text-muted);
}
#bc-out-breakdown tr[data-state="note"] {
    background: #fafbfc;
}
#bc-out-breakdown tr[data-state="note"] th {
    color: var(--text-muted);
    font-weight: 600;
}
#bc-out-breakdown tr[data-state="note"] th small {
    display: block;
    font-size: 11px;
    color: var(--text-muted);
    margin-top: 2px;
    font-weight: 500;
}
.bc-row-total th {
    background: rgba(0, 113, 235, .06);
    color: var(--blue);
    font-weight: 800;
    text-align: right;
    padding-right: 10px;
}
.bc-row-total td {
    background: rgba(0, 113, 235, .06);
    color: var(--blue);
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}
