/* 業務獎金分配頁 */
.bz-tabs{display:flex;gap:6px;margin-bottom:16px;border-bottom:2px solid var(--grey2);overflow-x:auto}
.bz-tabs button{border:none;background:none;padding:10px 18px;font-size:14px;font-weight:700;color:var(--text2);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;white-space:nowrap}
.bz-tabs button.on{color:var(--blue);border-bottom-color:var(--blue3)}
.bz-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:14px}
.bz-filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.bz-filters input[type=month]{font-weight:700;color:var(--blue)}
.bz-filters input[type=search]{min-width:180px;flex:1}

.bz-status{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:20px;font-size:11.5px;font-weight:700;white-space:nowrap}
.bz-status::before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor}
.bz-status.draft{background:#f3f4f6;color:var(--grey5)}
.bz-status.approved{background:#e8eef5;color:var(--blue2)}
.bz-status.paid{background:#e6f2ec;color:var(--green-mid)}
.bz-status.void{background:#fdecec;color:#DC2626}

.bz-type-seg{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.bz-type-seg button{padding:10px 20px;border-radius:10px;border:1.5px solid var(--grey3);background:#fff;font-size:14px;font-weight:700;color:var(--text2);cursor:pointer}
.bz-type-seg button.on{border-color:var(--blue);background:var(--blue);color:#fff}
.bz-type-seg button:disabled{opacity:.45;cursor:default}

.bz-form-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:10px 12px;align-items:end}
.bz-form-grid label{display:flex;flex-direction:column;gap:5px;font-size:11.5px;color:var(--text2);font-weight:700}
.bz-form-grid input,.bz-form-grid select,.bz-form-grid textarea{width:100%}
.bz-check{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text);font-weight:400;padding:9px 0}
.bz-check input{width:auto}

table.bz-rt{width:100%;border-collapse:collapse;font-size:12.5px;min-width:940px}
table.bz-rt th{background:var(--grey1);color:var(--text2);padding:7px 6px;text-align:left;white-space:nowrap;border-bottom:1px solid var(--border);font-weight:700}
table.bz-rt td{padding:5px 6px;border-bottom:1px solid #edf0f2;vertical-align:middle}
table.bz-rt input,table.bz-rt select{padding:5px 7px;font-size:12.5px;border-radius:6px}
table.bz-rt .num-in{width:74px;text-align:right}
table.bz-rt .comp{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}

.bz-alloc{display:flex;align-items:center;gap:8px;padding:9px 14px;border-radius:9px;font-size:13px;font-weight:700;margin-top:10px}
.bz-alloc.ok{background:#eef6f1;color:var(--green-deep);border:1px solid var(--green-mid)}
.bz-alloc.bad{background:#fdecec;color:#DC2626;border:1px solid #DC2626}

.bz-preview{background:var(--grey1);border:1px solid var(--border);border-radius:10px;padding:12px 16px;display:flex;gap:22px;flex-wrap:wrap;margin-top:12px}
.bz-preview .kpi .v{font-size:18px}

.bz-modal-bg{position:fixed;inset:0;z-index:1000;background:rgba(6,35,69,.42);display:flex;align-items:center;justify-content:center;padding:18px}
.bz-modal{background:#fff;border-radius:16px;max-width:760px;width:100%;max-height:90vh;overflow:auto;padding:22px 24px}
.bz-modal h3{margin:0 0 12px;font-size:16px;color:var(--blue);font-weight:900}
.bz-kv{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;font-size:13px;margin-bottom:10px}
.bz-kv .k{color:var(--text2);white-space:nowrap}
.bz-kv .v{font-weight:600;word-break:break-all}

.bz-err{background:#fdecec;border:1px solid #DC2626;color:#DC2626;border-radius:9px;padding:10px 14px;font-size:12.5px;margin-top:10px;white-space:pre-line}

@media(max-width:700px){
  .bz-form-grid{grid-template-columns:1fr}
  .bz-form-grid label{grid-column:1/-1!important}
  .bz-tabs button{padding:9px 12px;font-size:13px}
}

/* 支付證明列印 */
#bonus-print-root{display:none}
@media print{
  body.bz-printing aside,body.bz-printing #hamburger,body.bz-printing main{display:none!important}
  body.bz-printing #app-root>*{display:none!important}
  body.bz-printing #bonus-print-root{display:block!important}
  .bz-proof{page-break-after:always;padding:2.2cm 1.6cm 0;font-family:'Noto Sans TC',sans-serif;color:#000}
  .bz-proof:last-child{page-break-after:auto}
}
.bz-proof h2{text-align:center;font-size:21px;letter-spacing:8px;font-weight:900;margin:0 0 6px}
.bz-proof .pf-date{text-align:right;font-size:13.5px;margin-bottom:18px}
.bz-proof .pf-row{display:flex;font-size:14.5px;padding:7px 0;align-items:baseline}
.bz-proof .pf-row .k{width:150px;flex:none;font-weight:700}
.bz-proof .pf-row .v{flex:1}
.bz-proof .pf-row .v b{font-size:16px}
.bz-proof .pf-sign{display:flex;font-size:14.5px;padding:26px 0 6px;align-items:baseline}
.bz-proof .pf-foot{display:flex;gap:70px;margin-top:44px;font-size:14.5px}
