:root{
  --bg:#0b1220;
  --card:#0f1a30;
  --text:#e5e7eb;
  --muted:#94a3b8;
  --border:rgba(148,163,184,0.18);
  --accent:#22c55e;
}

#bwp-root{
  color:var(--text);
  padding:16px;
}

h1{ margin:0; font-size:26px; }
h2{ margin:0 0 10px 0; font-size:18px; }
h3{ margin:14px 0 8px 0; font-size:15px; }

.small{ font-size:13px; }
.muted{ color:var(--muted); }

.bwp-header{ display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:12px; }

.card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:14px;
  padding:14px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.25);
}

.actions{ display:flex; align-items:center; gap:10px; margin:10px 0 14px; }

button{
  border:1px solid var(--border);
  background:rgba(255,255,255,0.04);
  color:var(--text);
  padding:10px 12px;
  border-radius:12px;
  cursor:pointer;
}
button:hover{ background:rgba(255,255,255,0.07); }
button.primary{ background:rgba(34,197,94,0.18); border-color:rgba(34,197,94,0.35); }
button.primary:hover{ background:rgba(34,197,94,0.24); }

.good{
  display:inline-block;
  padding:8px 10px;
  border-radius:10px;
  background:rgba(34,197,94,0.15);
  border:1px solid rgba(34,197,94,0.35);
  color:#d1fae5;
  opacity:0;
  transform: translateY(2px);
  transition: all 180ms ease;
}
.good.show{ opacity:1; transform: translateY(0); }

.tabs{
  display:flex;
  gap:10px;
  margin-bottom:12px;
}

.tab{
  flex:0 0 auto;
}

.tab.active{
  border-color:rgba(34,197,94,0.45);
  box-shadow: inset 0 0 0 1px rgba(34,197,94,0.18);
}

.panel-grid{
  display:grid;
  grid-template-columns: 1fr 420px;
  gap:14px;
  align-items:start;
}

.iframeWrap{
  border:1px solid var(--border);
  border-radius:12px;
  overflow:hidden;
  background:#000;
}

iframe{
  width:100%;
  height:540px;
  border:0;
  display:block;
}

.kv{ margin-top:12px; display:flex; flex-direction:column; gap:10px; }
.kvRow{ display:flex; flex-direction:column; gap:6px; padding:10px; border:1px solid var(--border); border-radius:12px; background:rgba(255,255,255,0.03); }
.k{ font-size:12px; color:var(--muted); }
.v code{ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; font-size:12px; white-space:normal; word-break:break-all; }

label{ font-size:12px; color:var(--muted); }
input[type="text"]{
  width:100%;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid var(--border);
  background:rgba(0,0,0,0.25);
  color:var(--text);
}

.btns{ margin-top:10px; display:flex; gap:10px; }

.row{ display:flex; gap:10px; align-items:center; margin:10px 0 10px; }
.grow{ flex:1 1 auto; }

select{
  width:100%;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid var(--border);
  background:rgba(0,0,0,0.25);
  color:var(--text);
}

button.mini{
  padding:6px 10px;
  border-radius:10px;
  font-size:12px;
}
button.mini[disabled]{ opacity:0.45; cursor:default; }

.table{ width:100%; border-collapse:collapse; margin-top:10px; }
.table th, .table td{ text-align:left; padding:10px 10px; border-bottom:1px solid var(--border); font-size:13px; }
.table th{ color:var(--muted); font-weight:700; font-size:12px; }

.pager{ display:flex; align-items:center; justify-content:space-between; margin-top:10px; gap:10px; }

.chips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.chip{ padding:8px 10px; border:1px solid var(--border); border-radius:999px; background:rgba(255,255,255,0.03); font-size:12px; }

/* Catalog table */
.tbl{ width:100%; border-collapse:collapse; margin-top:10px; }
.tbl th, .tbl td{ text-align:left; padding:10px 10px; border-bottom:1px solid var(--border); font-size:13px; vertical-align:top; }
.tbl th{ color:var(--muted); font-weight:700; font-size:12px; }
.tbl input, .tbl select{ min-width:120px; }
.tbl td button{ margin-right:8px; }

.pagerRow{ display:flex; align-items:center; justify-content:space-between; margin-top:10px; gap:10px; flex-wrap:wrap; }

button.danger{ background:rgba(239,68,68,.14); border-color:rgba(239,68,68,.35); }
button.danger:hover{ background:rgba(239,68,68,.22); }

@media (max-width: 980px){
  .panel-grid{ grid-template-columns: 1fr; }
  iframe{ height:420px; }
}
