
:root{
  --bhdt-card:#fff;
  --bhdt-border:#e3e3e6;
  --bhdt-text:#111827;
  --bhdt-sub:#6b7280;
  --bhdt-primary:#2563eb;
}

#bhdt-app { clear: both; }
.bhdt-container, .bhdt-container * { box-sizing: border-box; }

.bhdt-container{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans";
  color:var(--bhdt-text);
  width:100%;
  max-width:980px;
  margin:0 auto;
  clear:both;
}

.bhdt-tabs{
  display:flex;
  gap:8px;
  margin: 0 0 14px 0;
  flex-wrap: wrap;
}
.bhdt-tab{
  border:1px solid var(--bhdt-border);
  background:#fff;
  border-radius:999px;
  padding:8px 12px;
  font-size:14px;
  cursor:pointer;
}
.bhdt-tab.is-on{
  border-color: var(--bhdt-primary);
  background:#eff6ff;
  color:#1d4ed8;
}

.bhdt-header h2{margin:0 0 6px 0;}
.bhdt-note{color:var(--bhdt-sub);font-size:13px;line-height:1.5;margin-bottom:14px;}

.bhdt-grid{display:grid;grid-template-columns:1fr;gap:14px;width:100%;}
@media(min-width:980px){.bhdt-grid{grid-template-columns:1fr 1fr;}.bhdt-results{grid-column:span 2;}}

.bhdt-card{
  background:var(--bhdt-card);
  border:1px solid var(--bhdt-border);
  border-radius:14px;
  padding:14px;
}
.bhdt-card h3{margin:0 0 12px 0;font-size:15px;}

.bhdt-row{
  display:grid;
  grid-template-columns:140px minmax(0,1fr) 140px minmax(0,1fr);
  gap:10px 12px;
  align-items:center;
  margin-bottom:12px;
}
.bhdt-row-2{
  grid-template-columns:140px minmax(0,1fr) auto;
}
.bhdt-row label{font-size:13px;color:var(--bhdt-sub);}

.bhdt-row input, .bhdt-row select{
  width:100%;
  padding:10px 12px;
  border:1px solid var(--bhdt-border);
  border-radius:12px;
  font-size:16px;
  min-width:0;
  background:#fff;
}
.bhdt-row input:disabled{background:#f3f4f6;color:#374151;}

.bhdt-subrow{grid-template-columns:140px auto minmax(0,1fr) auto;}
.bhdt-narrow{max-width:180px;}

@media (max-width: 900px) {
  .bhdt-row{grid-template-columns:140px 1fr;}
  .bhdt-row-2{grid-template-columns:140px 1fr;}
  .bhdt-subrow{grid-template-columns:140px auto 1fr;}
  .bhdt-subhint{display:none;}
  .bhdt-narrow{max-width:none;}
}
@media(max-width:560px){
  .bhdt-row{grid-template-columns:120px 1fr;}
  .bhdt-row-2{grid-template-columns:120px 1fr;}
  .bhdt-subrow{grid-template-columns:120px auto 1fr;}
}

.bhdt-subtitle,.bhdt-subhint{font-size:13px;color:var(--bhdt-sub);}

.bhdt-toggle{
  border:1px solid var(--bhdt-border);
  background:#fff;
  border-radius:999px;
  padding:8px 12px;
  font-size:13px;
  cursor:pointer;
  white-space:nowrap;
}
.bhdt-toggle.is-on{border-color:var(--bhdt-primary);background:#eff6ff;color:#1d4ed8;}

.bhdt-btn{
  border:1px solid var(--bhdt-primary);
  background: var(--bhdt-primary);
  color:#fff;
  border-radius:12px;
  padding:10px 12px;
  font-size:14px;
  cursor:pointer;
}
.bhdt-btn-ghost{
  background:#fff;
  color:#1d4ed8;
  border-color: var(--bhdt-border);
}
.bhdt-btn-danger{
  background:#fff;
  color:#b91c1c;
  border-color:#fecaca;
}

.bhdt-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.bhdt-item{
  display:flex;
  gap:10px;
  justify-content:space-between;
  align-items:flex-start;
  border:1px solid var(--bhdt-border);
  border-radius:12px;
  padding:10px 12px;
}
.bhdt-item-title{font-weight:700;}
.bhdt-item-sub{color:var(--bhdt-sub);font-size:13px;margin-top:4px;}
.bhdt-item-actions{display:flex;gap:8px;flex-wrap:wrap;}

.bhdt-results .bhdt-resultline{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  padding:10px 0;
  border-top:1px dashed var(--bhdt-border);
}
.bhdt-results .bhdt-resultline:first-of-type{border-top:0;}
.bhdt-results .bhdt-total strong{font-size:24px;}
.bhdt-results strong{font-variant-numeric:tabular-nums;}

.bhdt-warnings{margin-top:10px;}
.bhdt-warn{
  color:#b45309;
  background:#fffbeb;
  border:1px solid #fde68a;
  padding:10px 12px;
  border-radius:12px;
  font-size:13px;
  margin-top:8px;
}

/* Modal */
.bhdt-modal{
  position:fixed;
  inset:0;
  display:none;
  z-index:9999;
}
.bhdt-modal.is-open{display:block;}
.bhdt-modal-backdrop{
  position:absolute;
  inset:0;
  background: rgba(0,0,0,0.35);
}
.bhdt-modal-panel{
  position:relative;
  max-width: 980px;
  margin: 40px auto;
  background:#fff;
  border-radius:14px;
  border:1px solid var(--bhdt-border);
  padding:14px;
}
.bhdt-modal-actions{
  display:flex;
  gap:8px;
  justify-content:flex-end;
  flex-wrap:wrap;
}
