.benefit-control {
  --bc-ink: var(--ink, #172026);
  --bc-muted: var(--muted, #65727d);
  --bc-line: var(--line, #d9e0e5);
  --bc-panel: var(--panel, #fff);
  --bc-paper: var(--paper, #f5f7f8);
  --bc-brand: var(--brand, #184e3d);
  --bc-blue: var(--blue, #2364aa);
  --bc-green: var(--green, #12805c);
  --bc-red: var(--red, #c93c37);
  --bc-yellow: var(--yellow, #b7791f);
  color: var(--bc-ink);
  min-width: 0;
}

.benefit-control *,
.benefit-control *::before,
.benefit-control *::after { box-sizing: border-box; }

.bc-shell { display: grid; gap: 16px; min-width: 0; }

.bc-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px;
  border: 1px solid #bee2d5;
  border-radius: 14px;
  background: linear-gradient(135deg, #f8fffc, #e6f7f0);
}

.bc-hero h2,
.bc-panel h2,
.bc-panel h3 { margin: 0; }
.bc-hero p,
.bc-panel p { margin: 5px 0 0; color: var(--bc-muted); }

.bc-tabs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  padding: 5px;
  border: 1px solid var(--bc-line);
  border-radius: 12px;
  background: var(--bc-panel);
}

.bc-tab {
  border: 0;
  border-radius: 9px;
  padding: 10px 14px;
  background: transparent;
  color: var(--bc-muted);
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}
.bc-tab[aria-selected="true"] { background: var(--bc-brand); color: #fff; }
.bc-tab:focus-visible,
.bc-btn:focus-visible,
.bc-panel input:focus-visible,
.bc-panel select:focus-visible,
.bc-panel textarea:focus-visible { outline: 3px solid #79b8ef; outline-offset: 2px; }

.bc-panel {
  min-width: 0;
  border: 1px solid var(--bc-line);
  border-radius: 14px;
  background: var(--bc-panel);
  overflow: hidden;
}

.bc-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 15px 16px;
  border-bottom: 1px solid var(--bc-line);
}
.bc-panel-body { padding: 16px; min-width: 0; }
.bc-panel-body.flush { padding: 0; }

.bc-grid { display: grid; gap: 14px; min-width: 0; }
.bc-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bc-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bc-kpis { display: grid; grid-template-columns: repeat(6, minmax(125px, 1fr)); gap: 10px; min-width: 0; }
.bc-kpi { padding: 13px; border: 1px solid var(--bc-line); border-radius: 11px; background: #fafcfd; min-width: 0; }
.bc-kpi span { display: block; color: var(--bc-muted); font-size: 12px; }
.bc-kpi strong { display: block; margin-top: 5px; font-size: 24px; overflow-wrap: anywhere; }

.bc-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; min-width: 0; }
.bc-btn {
  min-height: 40px;
  border: 1px solid var(--bc-line);
  border-radius: 9px;
  padding: 9px 13px;
  background: #fff;
  color: var(--bc-ink);
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}
.bc-btn.primary { background: var(--bc-brand); border-color: var(--bc-brand); color: #fff; }
.bc-btn.info { background: var(--bc-blue); border-color: var(--bc-blue); color: #fff; }
.bc-btn.danger { background: var(--bc-red); border-color: var(--bc-red); color: #fff; }
.bc-btn.compact { min-height: 32px; padding: 6px 9px; font-size: 13px; }
.bc-btn:disabled { opacity: .5; cursor: not-allowed; }

.bc-status { display: inline-flex; align-items: center; width: fit-content; border-radius: 999px; padding: 4px 8px; font-size: 12px; font-weight: 800; }
.bc-status.green { color: #096341; background: #dff5eb; }
.bc-status.blue { color: #154f89; background: #e3effd; }
.bc-status.red { color: #a92e2a; background: #ffe1df; }
.bc-status.yellow { color: #87560e; background: #fff4cf; }
.bc-status.gray { color: #52606b; background: #eef1f3; }

.bc-alert { border: 1px solid var(--bc-line); border-radius: 10px; padding: 11px 13px; background: #f7f9fa; overflow-wrap: anywhere; }
.bc-alert.ok { color: #096341; border-color: #a9dbc8; background: #eaf9f2; }
.bc-alert.info { color: #154f89; border-color: #b9d5f0; background: #edf5fd; }
.bc-alert.warn { color: #7b510d; border-color: #edd48e; background: #fff8de; }
.bc-alert.err { color: #a92e2a; border-color: #efb8b5; background: #fff0ef; }

.bc-toolbar { display: grid; grid-template-columns: minmax(180px, 1.6fr) repeat(2, minmax(145px, .7fr)) auto; align-items: end; gap: 10px; }
.bc-toolbar label,
.bc-form label { display: block; margin-bottom: 5px; color: var(--bc-muted); font-size: 12px; font-weight: 800; }
.bc-toolbar input,
.bc-toolbar select,
.bc-form input,
.bc-form select,
.bc-form textarea,
.bc-dialog input,
.bc-dialog select,
.bc-dialog textarea {
  width: 100%;
  min-height: 42px;
  border: 1px solid var(--bc-line);
  border-radius: 9px;
  padding: 9px 10px;
  background: #fff;
  color: var(--bc-ink);
  font: inherit;
}
.bc-form textarea,
.bc-dialog textarea { min-height: 86px; resize: vertical; }

.bc-table-wrap { width: 100%; max-width: 100%; overflow-x: auto; }
.bc-table { width: 100%; min-width: 760px; border-collapse: collapse; }
.bc-table th,
.bc-table td { padding: 11px 12px; border-bottom: 1px solid var(--bc-line); text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.bc-table th { color: var(--bc-muted); font-size: 11px; text-transform: uppercase; letter-spacing: .03em; }

.bc-audit-detail { display: grid; gap: 4px; min-width: 210px; margin: 0; }
.bc-audit-detail div { display: grid; grid-template-columns: minmax(105px, .8fr) minmax(110px, 1fr); gap: 8px; }
.bc-audit-detail dt { color: var(--bc-muted); font-size: 11px; font-weight: 800; }
.bc-audit-detail dd { margin: 0; font-size: 12px; overflow-wrap: anywhere; }

.bc-card-list { display: grid; gap: 11px; min-width: 0; }
.bc-card { min-width: 0; border: 1px solid var(--bc-line); border-radius: 12px; padding: 14px; background: #fff; }
.bc-card.duplicate { border-left: 4px solid var(--bc-red); }
.bc-card-head { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.bc-card-meta { display: flex; flex-wrap: wrap; gap: 7px 14px; margin-top: 9px; color: var(--bc-muted); font-size: 13px; }
.bc-card-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }

.bc-deliveries { display: grid; gap: 7px; margin-top: 12px; }
.bc-delivery { display: grid; grid-template-columns:minmax(150px, 1fr) auto auto; gap: 9px; align-items: center; padding: 9px 10px; border: 1px solid var(--bc-line); border-radius: 9px; background: #f8fafb; }
.bc-delivery small { color: var(--bc-muted); }

.bc-article-bars { display: grid; gap: 9px; }
.bc-article-bar { display: grid; gap: 6px; }
.bc-article-bar-head { display:flex; justify-content:space-between; gap:10px; font-size:13px; }
.bc-bar { height: 8px; border-radius: 999px; overflow: hidden; background: #edf1f3; }
.bc-bar > span { display:block; height:100%; min-width:2px; border-radius:inherit; background: var(--bc-green); }

.bc-empty { padding: 28px 14px; text-align: center; color: var(--bc-muted); }
.bc-small { color: var(--bc-muted); font-size: 12px; }
.bc-check { display:flex; gap:8px; align-items:flex-start; font-weight:700; }
.bc-check input { width:auto; min-height:auto; margin-top:3px; }

.bc-dialog { width: min(760px, calc(100vw - 24px)); max-height: calc(100vh - 24px); border: 0; border-radius: 14px; padding: 0; color: var(--bc-ink); }
.bc-dialog::backdrop { background: rgba(13, 29, 34, .62); }
.bc-dialog form { display: grid; max-height: calc(100vh - 24px); }
.bc-dialog header,
.bc-dialog footer { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:14px 16px; }
.bc-dialog header { border-bottom:1px solid var(--bc-line); }
.bc-dialog footer { border-top:1px solid var(--bc-line); justify-content:flex-end; }
.bc-dialog h2 { margin:0; font-size:20px; }
.bc-dialog-body { display:grid; gap:13px; min-width:0; padding:16px; overflow-y:auto; }

@media (max-width: 1050px) {
  .bc-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .bc-grid.three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .bc-hero,
  .bc-panel-head,
  .bc-card-head { align-items: stretch; flex-direction: column; }
  .bc-grid.two,
  .bc-grid.three { grid-template-columns: minmax(0, 1fr); }
  .bc-toolbar { grid-template-columns: minmax(0, 1fr); }
  .bc-delivery { grid-template-columns: minmax(0, 1fr) auto; }
  .bc-delivery .bc-btn { grid-column: 1 / -1; width: 100%; }
}

@media (max-width: 430px) {
  .bc-shell { gap: 11px; }
  .bc-hero,
  .bc-panel-body { padding: 12px; }
  .bc-panel-head { padding: 12px; }
  .bc-tabs { display: grid; grid-template-columns: minmax(0, 1fr); }
  .bc-tab { width: 100%; text-align: left; }
  .bc-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bc-kpi strong { font-size: 20px; }
  .bc-actions > .bc-btn { width: 100%; }
  .bc-dialog footer { display:grid; grid-template-columns:minmax(0, 1fr); }
  .bc-dialog footer .bc-btn { width:100%; }
}
