.bonus-tax-wrap{container-type:inline-size;}
.bonus-tax-layout{display:grid;grid-template-columns:3fr 1fr;gap:14px;align-items:start;}
.bonus-tax-main{min-width:0;display:flex;flex-direction:column;gap:12px;}
.bonus-tax-side{min-width:0;display:flex;flex-direction:column;gap:12px;}
@container (max-width:860px){.bonus-tax-layout{grid-template-columns:1fr;}}
.bonus-tax-panel{background:var(--bg-card,#fff);border:1px solid var(--border,#e5e7eb);
border-radius:var(--radius,10px);padding:14px;}
.bonus-tax-head{display:flex;align-items:baseline;gap:8px;margin-bottom:10px;flex-wrap:wrap;}
.bonus-tax-headt{font-size:14px;font-weight:600;color:var(--text,#333);}
.bonus-tax-heads{font-size:12px;color:var(--text-secondary,#6b7281);}
.bonus-tax-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;}
.bonus-tax-cell{display:flex;flex-direction:column;gap:4px;min-width:0;}
.bonus-tax-cell.bonus-tax-wide{grid-column:1/-1;}
.bonus-tax-lbl{font-size:12px;color:var(--text-secondary,#6b7281);}
.bonus-tax-in,.bonus-tax-sel,.bonus-tax-ta{width:100%;box-sizing:border-box;padding:7px 9px;font-size:13px;
font-family:inherit;color:var(--text,#333);background:var(--bg-input,#fff);
border:1px solid var(--border,#e5e7eb);border-radius:var(--radius-sm,6px);}
.bonus-tax-ta{resize:vertical;line-height:1.5;}
.bonus-tax-in:focus,.bonus-tax-sel:focus,.bonus-tax-ta:focus{outline:none;
border-color:var(--primary,#2563eb);}
.bonus-tax-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
.bonus-tax-btn{padding:7px 14px;font-size:13px;font-family:inherit;cursor:pointer;
color:var(--text,#333);background:var(--bg-btn,#f3f4f6);
border:1px solid var(--border,#e5e7eb);border-radius:var(--radius-sm,6px);}
.bonus-tax-btn:hover{background:var(--bg-btn-hover,#e5e7eb);}
.bonus-tax-btn.bonus-tax-primary{color:var(--text-on-accent,#fff);background:var(--primary,#2563eb);
border-color:var(--primary,#2563eb);}
.bonus-tax-btn.bonus-tax-primary:hover{background:var(--primary-hover,#1d4ed8);}
.bonus-tax-btn:disabled{opacity:.5;cursor:not-allowed;}
.bonus-tax-checks{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;}
.bonus-tax-chk{display:flex;align-items:center;gap:5px;font-size:12px;
color:var(--text-secondary,#6b7281);cursor:pointer;}
.bonus-tax-msg{margin:8px 0 0;font-size:12px;min-height:16px;color:var(--text-secondary,#6b7281);}
.bonus-tax-msg.ok{color:var(--success,#16a34a);}
.bonus-tax-msg.err{color:var(--danger,#dc2626);}
.bonus-tax-msg.warn{color:var(--warning-fg,#92400e);}
.bonus-tax-empty{margin:0;font-size:12px;color:var(--text-secondary,#6b7281);}
.bonus-tax-res{display:flex;flex-direction:column;gap:8px;max-height:620px;overflow:auto;}
.bonus-tax-big{font-size:26px;font-weight:700;line-height:1.2;color:var(--primary,#2563eb);}
.bonus-tax-bigsub{font-size:12px;color:var(--text-secondary,#6b7281);}
.bonus-tax-card{background:var(--bg-page,#f7f8fa);border-radius:var(--radius-sm,6px);
padding:10px;}
.bonus-tax-cardt{font-size:12px;font-weight:600;color:var(--text,#333);margin-bottom:6px;}
.bonus-tax-kv{display:flex;justify-content:space-between;gap:10px;font-size:12px;
padding:3px 0;border-bottom:1px dashed var(--border,#e5e7eb);}
.bonus-tax-kv:last-child{border-bottom:0;}
.bonus-tax-kv span:first-child{color:var(--text-secondary,#6b7281);}
.bonus-tax-kv span:last-child{font-weight:600;color:var(--text,#333);}
.bonus-tax-bar{height:8px;border-radius:4px;background:var(--bg-btn,#f3f4f6);overflow:hidden;
margin-top:6px;}
.bonus-tax-bar i{display:block;height:100%;background:var(--primary,#2563eb);}
.bonus-tax-note{margin:8px 0 0;font-size:11px;line-height:1.6;
color:var(--text-secondary,#6b7281);}
.bonus-tax-tbl{width:100%;border-collapse:collapse;font-size:12px;}
.bonus-tax-tbl th,.bonus-tax-tbl td{padding:5px 6px;text-align:right;
border-bottom:1px solid var(--border,#e5e7eb);}
.bonus-tax-tbl th{color:var(--text-secondary,#6b7281);font-weight:600;}
.bonus-tax-tbl th:first-child,.bonus-tax-tbl td:first-child{text-align:left;}
.bonus-tax-tag{display:inline-block;padding:2px 7px;font-size:11px;border-radius:10px;
background:var(--bg-btn,#f3f4f6);color:var(--text-secondary,#6b7281);}
.bonus-tax-tag.ok{color:var(--success,#16a34a);}
.bonus-tax-tag.warn{color:var(--warning-fg,#92400e);}
.bonus-tax-bad{color:var(--danger,#dc2626);font-weight:600;}
.bonus-tax-cmp{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
@container (max-width:520px){.bonus-tax-cmp{grid-template-columns:minmax(0,1fr);}}
.bonus-tax-cmpc{background:var(--bg-page,#f7f8fa);border-radius:var(--radius-sm,6px);
padding:10px;text-align:center;border:2px solid transparent;box-sizing:border-box;min-width:0;}
.bonus-tax-cmpc.best{border-color:var(--primary,#2563eb);}
.bonus-tax-cmpt{font-size:11px;color:var(--text-secondary,#6b7281);overflow-wrap:anywhere;}
.bonus-tax-cmpv{font-size:20px;font-weight:700;color:var(--text,#333);margin:4px 0;overflow-wrap:anywhere;}
.bonus-tax-cmpv.best{color:var(--primary,#2563eb);}

.bonus-tax-tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
[id$="-tbl"],[id$="-flow"],[id$="-zone"],[id$="-macro"],[id$="-meal"],[id$="-food"]{overflow-x:auto;-webkit-overflow-scrolling:touch;}

/* ===== V3.9 控件样式补全 ===== */
.bonus-tax-in,.bonus-tax-sel,.bonus-tax-ta{
  width:100%;box-sizing:border-box;padding:7px 9px;font-size:13px;line-height:1.4;
  font-family:inherit;color:var(--text,#333);background:var(--bg-input,#fff);
  border:1px solid var(--border,#e5e7eb);border-radius:var(--radius-sm,6px);
  transition:border-color .15s,box-shadow .15s;
}
.bonus-tax-ta{resize:vertical;min-height:64px;line-height:1.6;}
.bonus-tax-sel{
  appearance:none;-webkit-appearance:none;-moz-appearance:none;
  padding-right:26px;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--text-secondary,#6b7281) 50%),
    linear-gradient(135deg,var(--text-secondary,#6b7281) 50%,transparent 50%);
  background-position:calc(100% - 15px) 52%,calc(100% - 10px) 52%;
  background-size:5px 5px,5px 5px;background-repeat:no-repeat;
}
.bonus-tax-in:hover,.bonus-tax-sel:hover,.bonus-tax-ta:hover{border-color:var(--primary,#2563eb);}
.bonus-tax-in:focus,.bonus-tax-sel:focus,.bonus-tax-ta:focus{
  outline:none;border-color:var(--primary,#2563eb);
  box-shadow:0 0 0 3px var(--primary-shadow,rgba(37,99,235,.15));
}
.bonus-tax-in:focus-visible,.bonus-tax-sel:focus-visible,.bonus-tax-ta:focus-visible{
  outline:none;border-color:var(--primary,#2563eb);
  box-shadow:0 0 0 3px var(--primary-shadow,rgba(37,99,235,.15));
}
.bonus-tax-in::placeholder,.bonus-tax-ta::placeholder{color:var(--text-secondary,#9ca3af);}
.bonus-tax-in:disabled,.bonus-tax-sel:disabled,.bonus-tax-ta:disabled{
  opacity:.55;cursor:not-allowed;background:var(--bg-btn,#f3f4f6);
}
.bonus-tax-in[type=number]{-moz-appearance:textfield;}
.bonus-tax-in[type=number]::-webkit-outer-spin-button,
.bonus-tax-in[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.bonus-tax-cbx{
  width:14px;height:14px;flex:0 0 auto;margin:0;cursor:pointer;accent-color:var(--primary,#2563eb);
}
.bonus-tax-cbx:focus-visible{outline:2px solid var(--primary,#2563eb);outline-offset:2px;}
.bonus-tax-cbx:disabled{opacity:.5;cursor:not-allowed;}
.bonus-tax-lbl{display:block;}
.bonus-tax-btn:focus-visible{
  outline:none;box-shadow:0 0 0 3px var(--primary-shadow,rgba(37,99,235,.15));
}
