/* v175: gold-coin team game and annual bonus evaluation. */
.operations-stage-card.tone-rewards{
  --stage-bg:#fff9dc;
  --stage-border:#eacb63;
  --stage-accent:#815400;
  --stage-icon:#ffef9c;
}

.bonus-game{--gold:#d69b00;--gold-dark:#7b5100;--ink:#1f3552;--muted:#6c7c91}
.bonus-game-hero{
  overflow:hidden;
  position:relative;
  background:
    radial-gradient(circle at 85% 10%,rgba(255,230,128,.26),transparent 28%),
    linear-gradient(135deg,#172b4b,#684393 58%,#c47718);
}
.bonus-game-hero::after{
  position:absolute;
  right:-35px;
  bottom:-60px;
  width:180px;
  height:180px;
  border:24px solid rgba(255,229,126,.12);
  border-radius:50%;
  content:"";
}
.bonus-game-hero>*{position:relative;z-index:1}

.bonus-game-grid{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);
  gap:14px;
}
.bonus-player-card,.bonus-team-mission,.bonus-badge-section,.bonus-admin-panel{
  border:1px solid #e2e7ef;
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 22px rgba(24,44,70,.07);
}
.bonus-player-card,.bonus-team-mission{padding:20px}
.bonus-player-level{display:flex;align-items:center;gap:12px}
.bonus-player-level>i{
  display:grid;
  width:58px;
  height:58px;
  place-items:center;
  border:1px solid #ecd072;
  border-radius:18px;
  background:linear-gradient(145deg,#fff9d5,#ffe68a);
  box-shadow:inset 0 0 0 5px rgba(255,255,255,.5);
  font-size:29px;
  font-style:normal;
}
.bonus-player-level>span{display:grid;gap:1px}
.bonus-player-level small,.bonus-team-mission small{color:var(--muted);font-weight:700}
.bonus-player-level b{color:var(--ink);font-size:22px}
.bonus-level-track,.bonus-mission-track{
  overflow:hidden;
  height:12px;
  margin-top:16px;
  border-radius:999px;
  background:#edf1f6;
}
.bonus-level-track i,.bonus-mission-track i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#f7bd1d,#d27b00);
  box-shadow:0 0 12px rgba(219,149,0,.34);
}
.bonus-player-card>p,.bonus-team-mission>p{margin:8px 0 0;color:#5f7087;font-size:12px}
.bonus-score-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:18px}
.bonus-score-grid>span{
  display:grid;
  gap:2px;
  min-width:0;
  padding:11px;
  border:1px solid #e5e9ef;
  border-radius:12px;
  background:#f9fbfd;
}
.bonus-score-grid small{color:#6b7b90;font-size:10px;font-weight:700}
.bonus-score-grid b{color:#273d5b;font-size:21px}
.bonus-score-grid .loss,.bonus-admin-table .loss{color:#b42318}

.bonus-team-mission{
  background:linear-gradient(145deg,#fffdf2,#fff8d8);
  border-color:#ead383;
}
.bonus-team-mission header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.bonus-team-mission header>span{display:grid;gap:2px}
.bonus-team-mission header b{color:var(--gold-dark);font-size:17px}
.bonus-team-mission header>strong{color:#8a5a00;font-size:25px;white-space:nowrap}
.bonus-team-mission>small{display:block;margin-top:10px;line-height:1.5}

.bonus-badge-section{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr);gap:18px;padding:20px}
.bonus-badge-section h2,.bonus-badge-section p{margin:0}
.bonus-badge-section h2{margin-top:3px;color:var(--ink)}
.bonus-badge-section p{margin-top:5px;color:var(--muted);font-size:12px}
.bonus-badge-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.bonus-badge-grid article{
  display:grid;
  justify-items:center;
  gap:5px;
  padding:13px 8px;
  border:1px solid #e4e8ee;
  border-radius:14px;
  text-align:center;
}
.bonus-badge-grid i{font-size:24px;font-style:normal}
.bonus-badge-grid span{display:grid;gap:2px}
.bonus-badge-grid b{color:#334963;font-size:12px}
.bonus-badge-grid small{color:#7a8798;font-size:9px}
.bonus-badge-grid .unlocked{border-color:#e4c763;background:linear-gradient(145deg,#fffdf4,#fff3bd)}
.bonus-badge-grid .locked{filter:grayscale(1);opacity:.58;background:#f6f7f9}

.bonus-admin-panel{padding:20px;border-color:#edcf84;background:#fffcf4}
.bonus-admin-panel>header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.bonus-admin-panel h2,.bonus-admin-panel p{margin:0}
.bonus-admin-panel p{margin-top:3px;color:var(--muted);font-size:12px}
.bonus-admin-table-wrap{overflow-x:auto;border:1px solid #eadfbe;border-radius:13px;background:#fff}
.bonus-admin-table{width:100%;min-width:760px;border-collapse:collapse}
.bonus-admin-table th,.bonus-admin-table td{padding:11px 12px;border-bottom:1px solid #edf0f4;text-align:left;vertical-align:middle}
.bonus-admin-table th{background:#fff9e9;color:#67511c;font-size:11px}
.bonus-admin-table td{color:#3b4d65;font-size:12px}
.bonus-admin-table td:first-child{display:grid;gap:2px}
.bonus-admin-table td small{display:block;color:#7c899a;font-size:9px}
.bonus-admin-table .gold{color:#9a6600;font-size:17px}
.bonus-admin-table tbody tr:last-child td{border-bottom:0}

.bonus-history-grid>article:first-child{min-width:0}
.bonus-history-grid .reward-ledger-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto}
.bonus-history-grid .reward-ledger-list small{line-height:1.45}
.bonus-history-grid .event-discipline_deduction{border:1px solid #f2d0ca;background:#fff7f5}
.bonus-history-grid .event-discipline_restore{border:1px solid #bfe2cd;background:#f4fff8}
.bonus-history-grid .reward-ledger-list button{padding:7px 9px;font-size:10px}
.bonus-rule-card ol{display:grid;gap:11px;margin:0;padding:0;list-style:none}
.bonus-rule-card li{display:grid;gap:2px;padding-left:34px;position:relative}
.bonus-rule-card li::before{
  position:absolute;
  left:0;
  top:0;
  display:grid;
  width:24px;
  height:24px;
  place-items:center;
  border-radius:50%;
  background:#fff2b5;
  color:#7b5200;
  content:"✓";
  font-weight:900;
}
.bonus-rule-card li b{color:#2b405d;font-size:13px}
.bonus-rule-card li span{color:#6d7b8e;font-size:11px;line-height:1.45}

.bonus-adjustment-modal{max-width:650px}
.bonus-adjustment-note{
  padding:11px 12px;
  border:1px solid #ead184;
  border-radius:11px;
  background:#fff9df;
  color:#755617;
  font-size:11px;
  line-height:1.5;
}

@media(max-width:1050px){
  .bonus-game-grid,.bonus-badge-section{grid-template-columns:1fr}
  .bonus-badge-grid{grid-template-columns:repeat(4,minmax(110px,1fr))}
}
@media(max-width:760px){
  .bonus-score-grid{grid-template-columns:1fr 1fr}
  .bonus-badge-grid{grid-template-columns:1fr 1fr}
  .bonus-admin-panel>header{align-items:flex-start;flex-direction:column}
  .bonus-history-grid .reward-ledger-list>div{grid-template-columns:minmax(0,1fr) auto}
  .bonus-history-grid .reward-ledger-list button{grid-column:1/-1}
}
@media(max-width:480px){
  .bonus-player-card,.bonus-team-mission,.bonus-badge-section,.bonus-admin-panel{padding:15px}
  .bonus-player-level b{font-size:19px}
  .bonus-game-hero h2{font-size:22px}
  .bonus-score-grid{gap:6px}
  .bonus-score-grid>span{padding:9px}
}
