.exb-page {
  font-family: system-ui, -apple-system, Segoe UI, sans-serif;
  max-width: 1100px;
  margin: 0 auto;
  padding: 1rem;
  color: #1a1a1a;
}
.exb-hidden { display: none !important; }
.exb-blocked { padding: 2rem; text-align: center; }
.exb-nav { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; align-items: center; margin-bottom: 1rem; font-size: 0.9rem; }
.exb-nav__badge { background: #eef3ff; padding: 0.2rem 0.5rem; border-radius: 4px; }
.exb-card { border: 1px solid #ddd; border-radius: 8px; padding: 1rem; margin-bottom: 1rem; background: #fff; }
.exb-toolbar { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 0.75rem; }
.exb-btn { border: 1px solid #888; background: #f7f7f7; border-radius: 6px; padding: 0.45rem 0.75rem; cursor: pointer; font-size: 0.9rem; }
.exb-btn--primary { background: #1f4b99; color: #fff; border-color: #1f4b99; }
.exb-btn--danger { background: #8b1a1a; color: #fff; border-color: #8b1a1a; }
.exb-btn--sm { padding: 0.25rem 0.5rem; font-size: 0.82rem; }
.exb-table { width: 100%; border-collapse: collapse; font-size: 0.88rem; }
.exb-table th, .exb-table td { border-bottom: 1px solid #eee; padding: 0.4rem 0.35rem; text-align: left; vertical-align: top; }
.exb-badge-readonly { font-size: 0.75rem; background: #f0f0f0; padding: 0.1rem 0.35rem; border-radius: 3px; }
.exb-status { min-height: 1.25rem; margin: 0.5rem 0; }
.exb-status--ok { color: #0a6b2d; }
.exb-status--warn { color: #8a5a00; }
.exb-status--err { color: #8b1a1a; }
.exb-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 0.75rem; }
.exb-grid label { display: block; font-size: 0.82rem; font-weight: 600; margin-bottom: 0.2rem; }
.exb-grid input, .exb-grid select, .exb-grid textarea { width: 100%; box-sizing: border-box; padding: 0.35rem; }
.exb-editor-layout { display: grid; grid-template-columns: 1fr 280px; gap: 1rem; }
@media (max-width: 900px) { .exb-editor-layout { grid-template-columns: 1fr; } }
.exb-validation ul { margin: 0.25rem 0 0.5rem 1rem; padding: 0; }
.exb-validation li.err { color: #8b1a1a; }
.exb-validation li.warn { color: #8a5a00; }
.exb-modal-backdrop { position: fixed; inset: 0; background: rgba(0,0,0,0.35); display: flex; align-items: center; justify-content: center; z-index: 1000; }
.exb-modal { background: #fff; border-radius: 8px; padding: 1rem; width: min(520px, 92vw); max-height: 90vh; overflow: auto; }
.exb-helper { font-size: 0.85rem; color: #555; }
